2011-01-31 4 views
0

Что мне нужно сделать, так это прочитать в файле назад. То, что я хотел бы сделать, это прочитать файл назад, затем, когда он движется назад, посмотрите, будет ли значение = G или в шестнадцатеричном формате 47, а затем увидеть следующее значение = N или в шестнадцатеричном формате 4E, а затем посмотреть, будет ли следующее значение = P . Я в настоящее время с помощью бинарного ввода-вывода для чтения в и затем, используя ...Чтение двоичного файла назад

Вот ссылка на изображение, которое будет лучше показать, что я имею в виду .. http://www.facebook.com/photo.php?pid=2189508&l=92393dfccb&id=1283154964

String s = Integer.toHexString(hexIn); 
    if(s.length() < 2){ 
    s = "0" + Integer.toHexString(hexIn); 
    } 

чтобы убедиться, hex не пропустит нули на конце (что я нашел на этом сайте: :)

+0

Это помогло бы нам помочь вам, если бы вы упомянули, что вы пытаетесь сделать на более высоком уровне ... – thkala

+0

читать в буфере говорят 64k ​​и отсканировать его назад – bestsss

+2

Вы уже задали вопрос о чтении файла назад и имеете принял ответ: http://stackoverflow.com/questions/4841148/read-binary-file-backwards-using-java. Прекратите тратить время людей, задавая тот же вопрос снова. Или, по крайней мере, задать «четкий вопрос». Обратите внимание, как все советы здесь совпадают с вашими последними сообщениями, потому что ваш вопрос настолько запутан! – camickr

ответ

0

Как вы можете себе представить, чтение назад - это не нормальная вещь, и вам нужно будет что-то сделать g странно.

Но вы можете поместите указатель в файл самостоятельно. Если вы это сделали, поместите его в конец, прочитайте байт, затем поместите его в (конец-1), прочитайте байт и т. Д., Вы добьетесь успеха.

Это было бы ужасно медленно, поэтому то, что вы делаете, читается так сильно, как вы можете, в буфер, начиная с конца, затем переходите через буфер назад, а затем заполняете буфер.

This tutorial Сообщает вам все о вводе/выводе произвольного доступа в Java.

0

RandomAccessFile будет самым простым классом, который будет использоваться для чтения файла назад.

1

Вместо того, чтобы читать файл в обратном порядке и искать строку, почему бы вам просто не отменить свою строку и искать ее в файле, идущем вперед? Казалось бы, это более простое решение?

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