Задать вопрос
@FALSHER_DEV

FileReader игнорирует первые два байта. В чем дело?

Есть у меня простейший код для проверки работы FileReader:
Code/Java
Reader r = new FileReader("1234.dmap");
System.out.println(Integer.toHexString(r.read()));
System.out.println(Integer.toHexString(r.read()));
System.out.println(Integer.toHexString(r.read()));
System.out.println(Integer.toHexString(r.read()));

Собственно, сам файл:
1234.dmap
EB AF 3D 1A 63 6F 6D 2E

И вывод консоль после выполнения кода:
Вывод

fffd
3d
1a
63

Как можно заметить, FileReader полностью игнорирует первые два байта, вдобавок размер первого байта превышает норму. При этом, с FileInputStream все работает нормально
Помогите разобраться в проблеме
  • Вопрос задан
  • 78 просмотров
Подписаться 1 Средний Комментировать
Решения вопроса 1
@nApoBo3
FileReader не предназначен для чтения "сырых" данных, он читает текстовые данные с учетом системной кодировки.
https://javarush.ru/help/7579
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы
18 дек. 2024, в 12:37
10000 руб./за проект
18 дек. 2024, в 12:22
5000 руб./за проект
18 дек. 2024, в 11:57
500 руб./в час