有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

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

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


共 (1) 个答案

  1. # 1 楼答案

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

    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