Доброго времени суток!
Подскажите, пожалуйста, почему не проходит ни один из вариантов с одинаковыми замечаниями - 3 и 4?
1й вариант, читаем побайтово, преобразуем в строку и обратно в байты (закомментирован в коде)
2й вариант читаем построчно, меняя кодировку при записи.
Заранее спасибо!
package com.javarush.task.task22.task2211;
import java.io.*;
import java.nio.charset.StandardCharsets;
/*
Смена кодировки
*/
public class Solution {
public static void main(String[] args) throws IOException {
String inputFileName = args[0];
String outputFileName = args[2];
try(BufferedReader reader = new BufferedReader(new InputStreamReader(new FileInputStream(inputFileName),"Windows-1251"));
BufferedWriter writer = new BufferedWriter(new OutputStreamWriter(new FileOutputStream(outputFileName), "UTF-8"))) {
String buf;
while((buf = reader.readLine()) != null) {
writer.write(buf + '\n');
}
writer.flush();
reader.close();
}
/*
try(FileInputStream fis = new FileInputStream(inputFileName)) {
byte[] buf = new byte[fis.available()];
fis.read(buf);
String win1251Str = new String(buf, "Windows-1251");
buf = win1251Str.getBytes(StandardCharsets.UTF_8);
try (FileOutputStream fos = new FileOutputStream(outputFileName)) {
fos.write(buf);
}
}
*/
}
}