Java, чтение программы в файл, вывод символов - PullRequest
0 голосов
/ 08 марта 2019

Я пытался прочитать в файле, и он выбрасывает символы. Я думаю, что это неправильная кодировка, но я пробовал разные типы кодирования без какого-либо прогресса. Код ниже, а также вывод. Любые идеи были бы хорошы.

InputStream HostFile = new FileInputStream(location + FileName); 
Reader file = new InputStreamReader(HostFile, "UTF8");
PrintWriter writer = new PrintWriter(".\\Files\\TempFPF.txt", "UTF8");

while (file.ready()) {
     writer.print((char) file.read());
}
writer.close();

Выход:

坕⁕ㄸ⼸㤰䴠剁䴯䕋匭义倠条⁥റഊ嬊传偆崠਍ⴭⴭⴭⴭⴭⴭⴭⴭⴭⴭⴭⴭⴭⴭⴭⴭⴭⴭⴭⴭⴭⴭⴭⴭⴭⴭⴭⴭⴭⴭⴭⴭⴭⴭ਍坕さㄸ‸†㤰䅍㉒㄰‹†䬠䭍ⵅ南卓†䈠㠷‹㝎㤸塅†䕒䕌十⁅㔱㤳〠䴸剁㤱਍䙏⁐‱††䕇⁎䥍䍔䕈䱌䤠呎ⵌ䡃乁䥇...

Ответы [ 2 ]

1 голос
/ 08 марта 2019

Я думаю, что ваша проблема в том, что вы написали "UTF8", когда вместо этого должно быть "UTF-8" (обратите внимание на тире). Вы также можете использовать StandardCharsets.UTF_8.name(); из java.nio.charset.StandardCharsets

0 голосов
/ 08 марта 2019

Я обнаружил, что моя проблема - я вызываю неправильный метод, использующий другое устройство чтения файловых буферов, которое читает файлы в UTF-16LE. Спасибо всем за помощь.

...