2013-11-22 3 views
0

Я использую BufferedReader, чтобы прочитать несколько дампов HEX. Но BufferedReader считывает значения мусора перед фактическим содержимым файла.BufferedReader чтение мусора

Пример:

Фактические содержимое файла выглядит следующим образом (если я открываю его с редактором как VIM):

02e9 9000 e890 0000 815e 08ee eb01 201a 
754f 2072 6170 7473 6920 2073 6f20 7275 
6620 7475 7275 2165 8b20 e9ee 018a 0000 

Что BufferedReader читает, выглядит так:

���Bud1������������á�����������������������������������������������������������E�v�i�l�.�c�������������������������������������������R�i�o�.�E�v�i�l�.�c�o�m�.�h�e�xIlocblob������F���(���ˇˇ����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������� ����� 
�@��������������������������������������� ������@����������������������������������������� ������@����������������������������������������� ������@�����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������E���������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������DSDB����������������������������� ���`�������������������������������������������� ������@����������������������������������������� ������@����������������������������������������� ������@�������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������� 
02e9 9000 e890 0000 815e 08ee eb01 201a 
754f 2072 6170 7473 6920 2073 6f20 7275 
6620 7475 7275 2165 8b20 e9ee 018a 0000 

I не понимаю, что происходит. Первая строка содержит часть имени файла. Есть некоторые метаданные, которые фактически не отображаются в файле. Как игнорировать это?

Мой фрагмент кода довольно стандартный File I/O:

BufferedReader input = new BufferedReader(new FileReader(file)); 

String line = input.readLine(); 

while(line != null) { 
    System.out.println(line); 
    line = input.readLine(); 
} 
+0

Откуда вы знаете, что это фактическое содержимое файла? Вы уверены, что читаете правильный файл? –

+0

Фактическое содержимое файла - это то, что я вижу, если я открою файл в vim. – ask

+0

А если вы используете 'head' (чтобы показать первые несколько строк файла) вместо' vim'? –

ответ

3

Фигурные его. В OS X в каталоге существует скрытая папка .DS_Store. Я был массовым чтением HEX-дампов, поэтому был включен файл, который привел к значениям мусора.

+1

Если бы вы включили в свой вопрос больше кода, это могло бы быть более очевидным. –

Смежные вопросы