在Java中逐行读取文件的最快方法

时间:2013-10-11 10:40:47

标签: java

如果我需要对我的文件进行randomaccess,那么从文件中逐行读取和解析的最快方法是什么。我想从一个位置寻找另一个位置并解析这些位置之间的界限。

1 个答案:

答案 0 :(得分:0)

您可以使用NIO包提供的Channels逐行或随机读取文件 但这里有一个警告:

BufferedReader允许您逐行读取文件,但它将它们作为记录而不是块进行访问。所以没有随机访问 FileChannel及其子行[{1}}和SeekableByteChannel允许随机读写但您无法逐行读取。好吧,如果你知道一行中有多少字节,你可以。在通道中,您可以读取与字节或字符相同的数据。没有什么可以阻止你这样做。

所以,做出决定:))

以下是教程:http://docs.oracle.com/javase/tutorial/essential/io/fileio.html

Jacob Jenkov对NIO和IO包进行了很好的比较:http://tutorials.jenkov.com/java-nio/nio-vs-io.html