How can I read a large text file line by line using Java?

前端 未结 21 2346
心在旅途
心在旅途 2020-11-21 05:48

I need to read a large text file of around 5-6 GB line by line using Java.

How can I do this quickly?

21条回答
  •  温柔的废话
    2020-11-21 06:33

    In Java 8, you could do:

    try (Stream lines = Files.lines (file, StandardCharsets.UTF_8))
    {
        for (String line : (Iterable) lines::iterator)
        {
            ;
        }
    }
    

    Some notes: The stream returned by Files.lines (unlike most streams) needs to be closed. For the reasons mentioned here I avoid using forEach(). The strange code (Iterable) lines::iterator casts a Stream to an Iterable.

提交回复
热议问题