0
從文件中逐行讀取和解析的最快方法是什麼,如果我需要對我的文件有randomaccess。我想從一個位置到另一個位置尋找並解析這些位置之間的界限。在Java中逐行讀取文件的最快方法
從文件中逐行讀取和解析的最快方法是什麼,如果我需要對我的文件有randomaccess。我想從一個位置到另一個位置尋找並解析這些位置之間的界限。在Java中逐行讀取文件的最快方法
您可以使用NIO軟件包提供的Channels
來逐行讀取文件或隨機讀取文件。
但是,這裏需要注意的是:
BufferedReader
允許您逐行讀取文件,但它將它們作爲記錄而不是作爲塊訪問。所以沒有隨機存取。
FileChannel
及其子線SeekableByteChannel
和WritableByteChannel
允許隨機讀取和寫入,但不能逐行閱讀。那麼,如果你知道一行中有多少個字節,你可以。在通道中,您可以讀取與字節相同的數據或字符。沒有什麼可以阻止你這樣做。
因此,做出決定:)
這裏是教程:http://docs.oracle.com/javase/tutorial/essential/io/fileio.html
雅各布Jenkov具有NIO和IO包之間的良好對比:http://tutorials.jenkov.com/java-nio/nio-vs-io.html
我已經回答了這個問題。看看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
[RandomAccessFile](http://docs.oracle.com/javase/7/docs/api/java/io/RandomAccessFile.html) – Anirudha
@AlexR op需要隨機訪問文件! – Anirudha