FileInputStream пропускает несколько байтов
У меня есть файл:
55 6d 61 78 64 61 73 69 6c 76 61 71 00 09 63 73 61 63 61 73 73 73 63
U m a x d a s i l v a q \t c s a c a s s s c
Выполняю код на Java:
FileInputStream fis = new FileInputStream("...");
int b;
while ((b = fis.read()) != -1) System.out.print(Integer.toHexString(b) + ' ');
fis.close();
И получаю вывод:
55 3f 09 63 73 61 63 61 73 73 73 63
U ? \t c s a c a s s s c
В котором наблюдается, что пропущено несколько байтов (а если быть точнее, то 12!), а также возникает несуществующий байт 0x3F
У кого была подобная проблема, подскажите, как исправить. До этого все работало исправно
Ответы (1 шт):
Автор решения: Юрий Кайдаулов
→ Ссылка
Проблема решена.
Поток работает некорректно при использовании относительного пути объекта:
File ("./file.txt")
Все стало работать исправно при применении абсолютного пути до файла.