无法使用流java读取1600行以上的文件?

时间:2017-03-25 07:04:37

标签: java-8 java-stream filereader

我正在使用流读取一个包含5000行的大文件。

  • 我必须跳过行,因为想要显示最近的行。
  • 例如。如果用户在参数中传递100,那么他将看到最后100行。

我的代码:

public static void readFile(String filePath, long lineNum) {
    List<String> list = new ArrayList<>();
    long totalLines, startLine = 0;

    try (Stream<String> lines = Files.lines(Paths.get(filePath))) {
        totalLines = Files.lines(Paths.get(filePath)).count();
        startLine = totalLines - lineNum;
        // Stream<String> line32 = lines.skip(((startLine)+1));

        list = lines.skip(startLine + 1).collect(Collectors.toList());
        // lines.forEach(list::add);
    } catch (IOException e1) {
        // TODO Auto-generated catch block
        e1.printStackTrace();
    }

    list.forEach(System.out::println);

}

0 个答案:

没有答案