【问题标题】:How to read a text file from X line in Java?如何从 Java 中的 X 行读取文本文件?
【发布时间】:2015-09-13 05:32:07
【问题描述】:

如何读取从 X 数行开始的文本文件? 我可以开始阅读文件并且什么都不做,直到到达 X 行,但我想知道是否有更好的方法来做到这一点。

【问题讨论】:

  • 我不确定是否可以在文件中途打开流。吃第一行 X - 1 有什么问题吗?

标签: java oop file-management randomaccessfile


【解决方案1】:

一般来说,除非您有一个预先构建的行长索引或文件中的行长已知是固定的,否则您无法执行此操作。您可以在读取随机访问文件时跳过给定数量的 bytes,但为了跳过给定数量的 lines,您应该计算换行符(如 \n) .文件系统不会在任何地方存储换行位置。

【讨论】:

    【解决方案2】:

    您正在寻找的是RandomAccessFile。您可以像下面的示例一样使用它。但是你需要知道你想读的位置。我相信你可以玩一下它并找到如何使用它。

    private static byte[] readFromFile(String filePath, int position, int size) throws IOException {
        RandomAccessFile file = new RandomAccessFile(filePath, "r");
        file.seek(position);
        byte[] bytes = new byte[size];
        file.read(bytes);
        file.close();
        return bytes;
    }
    

    更多信息: http://www.tutorialspoint.com/java/io/java_io_randomaccessfile.htm

    http://examples.javacodegeeks.com/core-java/io/randomaccessfile/java-randomaccessfile-example/

    【讨论】:

      猜你喜欢
      • 2018-06-21
      • 1970-01-01
      • 2013-12-24
      • 2014-09-18
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-01-15
      相关资源
      最近更新 更多