2013-10-11 3 views
0

Что такое быстрый способ чтения и разбора строки за строкой из файла, если мне нужно иметь randomaccess для моего файла. Я хочу искать от одного позитива к другому и анализировать линии между этими позициями.Самый быстрый способ чтения из файла по строкам в Java

+0

Я уже ответил на этот вопрос. Взгляните на http://stackoverflow.com/questions/5035894/fastest-way-to-read-a-file-line-by-line-with-2-sets-of-strings-on-each-line/ 5035998 # 5035998 – AlexR

+0

[RandomAccessFile] (http://docs.oracle.com/javase/7/docs/api/java/io/RandomAccessFile.html) – Anirudha

+0

@AlexR op требует случайного доступа к файлу! – Anirudha

ответ

0

Вы можете использовать Channels, предоставляемый пакетом NIO, для чтения файлов по строкам или произвольно.
Но вот оговорка:

позволяет вам читать файлы по строкам, но он обращается к ним как к записи, а не как к блокам. Таким образом, нет случайного доступа.
FileChannel и его дочерняя линия SeekableByteChannel и WritableByteChannel позволяют произвольно читать и писать, но вы не можете читать строки за строкой. Ну, вы можете, если знаете, сколько байтов есть в одной строке. В каналах вы можете читать те же данные, что и байты или символы. Ничто не может помешать вам это сделать.

Таким образом, принять решение :)

Вот учебник: http://docs.oracle.com/javase/tutorial/essential/io/fileio.html

Jacob Jenkov имеет хорошее сравнение между NIO и IO пакета: http://tutorials.jenkov.com/java-nio/nio-vs-io.html

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