С 11 версии java можно в качестве параметра в конструктор класса FileReader передать кодировку FileReader(file, charset) and new FileReader(fileName, charset)
package com.javarush.task.task22.task2211;
import java.io.*;
import java.nio.charset.Charset;
/*
Смена кодировки
*/
public class Solution {
public static void main(String[] args) throws IOException {
Charset utf8 = Charset.defaultCharset();
Charset windows1251 = Charset.forName("Windows-1251");
try(BufferedReader reader = new BufferedReader(new FileReader(args[0],utf8));
BufferedWriter writer = new BufferedWriter(new FileWriter(args[1],windows1251))){
int i = 0;
while (reader.ready()){
writer.write((byte)reader.read());
}
} catch (FileNotFoundException e){
System.out.println("no file");
}
}
}