Я хотел бы прочитать и распечатать текстовый файл в консоль, так что я сделал это с ниже кодНеправильный выход при попытке чтения текстового файла
File file = new File("G:\\text.txt");
FileReader fileReader = new FileReader(file);
int ascii = fileReader.read();
while (ascii != -1)
{
result = result + (char) ascii;
ascii = fileReader.read();
}
System.out.println(result);
хотя я получил правильный результат, но в некоторых случаях я буду получить какой-то странный результат. Предположу, что мой текстовый файл имеет этот текст в нем:
Hello to every one
Для того, чтобы иметь текстовый файл, я использовал блокнот, и, когда я изменить режим кодирования я буду получать странный вывод из моего кода.
Анси: Привет каждый один
Unicode: ÿþh ellotoeveryone
Unicode большой Endian: Thy hellotoeveryone
UTF-8: ï »¿привет каждый
Почему я получить эти странные результаты? Есть ли проблемы с моим кодом? Или есть другие причины
Из-за режима кодирования? Вы уже упоминали, что это происходит, когда вы меняете режим кодирования. – Gosu
@Gosu: да, как вы можете видеть, когда я изменил режим кодирования, я получаю разные результаты. –
Вместо этого используйте InputStreamReader вместе с правильным режимом кодирования? – Gosu