0

如果我需要随机访问我的文件,从文件中逐行读取和解析的最快方法是什么。我想从一个位置寻找另一个位置并解析这些位置之间的线。

4

1 回答 1

0

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

BufferedReader允许您逐行读取文件,但它以记录而不是块的形式访问它们。所以没有随机访问。
FileChannel及其子行SeekableByteChannelWritableByteChannel允许随机读取和写入,但您不能逐行读取。好吧,如果您知道一行中有多少字节,您就可以。在通道中,您可以读取与字节或字符相同的数据。没有什么能阻止你这样做。

所以,做出决定:)

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

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

于 2013-10-11T10:51:43.540 回答