簡體   English   中英

如何在Java 8中逐行讀取文件?

[英]How to read file line by line in Java 8?

在Java 8中,我看到在Files類中添加了名為lines()的新方法,可用於在Java中逐行讀取文件。 它適用於大文件嗎? 我的意思是我們可以加載前1000行然后第二組1000行。 我有1GB的巨大文件,它會工作嗎?

有人可以共享代碼片段如何使用它?

它適用於大文件嗎? [...]我有1GB的巨大文件,它會工作嗎?

據我所知它也應該適用於大文件(但我還沒試過):

try(Stream<String> lines = Files.lines(path)){
    lines.filter(...).map(...)....foreach(...);
}

我的意思是我們可以加載前1000行然后第二組1000行。

一次讀取多少行是Files.lines特有的實現(可能使用BufferedReader,但我可能錯了)。

來自API(由我鼓舞)

從文件中讀取所有行作為流。 與readAllLines不同,此方法不會將所有行讀入List,而是在使用流時延遲填充。

這強烈建議您可以在任意大小的文件上使用它,假設您的代碼不包含內存中的所有內容。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM