2016-06-17 6 views
0

Сначала я прочитал из файла. Чтение в порядке ő.InputStreamReader (InputStreamReader (System.in, «ISO-8859-15»)) читает «ő» как «õ»

Затем я вхожу в консоль ő, и, если я их сравниваю, то получил ложь. Я хочу ő с чтением консоли.

Редактировать: Я использую InputStream inp = new FileInputStream(file) для чтения файла.

+0

Вы используете bufferedreader в обоих случаях? – sathya

+1

Покажите нам, что вы пробовали, похоже, вы пытаетесь сравнить два разных объекта друг с другом, попробуйте '.equals (object)' – Igoranze

ответ

0

Просто используйте кодировку windows-1250. (Java не поддерживает ISO-8859-16.)

0

Попробуйте использовать вместо этого InputStreamReader(System.in, "ISO-8859-16").

ISO-8859-15 не содержит символов ő, но ISO-8859-16. Кроме того, ő - это кодовая точка 0151 в ISO-8859-16, которая является той же кодовой точкой, что и ö в ISO-8859-15, которая объясняет ваш текущий результат.

+0

Я уже пробовал, но произошло что-то странное. Мой код напечатал «ISO-8859-16», и я не смог ввести никаких данных. – junpet

+0

@junpet, показать больше своего кода (как именно вы читаете данные из файла и с консоли, и как именно вы сравниваете результаты), иначе вам будет сложно помочь. – binoternary