2017-02-04 18 views
2

Files.readAllLines javadoc的狀態:Files.readAllLines - 什麼構成「大」文件?

「注意,此方法適用於簡單的情況下,它是 方便讀取所有線路在一次操作中它不打算 在讀取大文件。」

這是什麼構成一個大文件? (我也很好奇它爲什麼不建議用於大文件,它是實際的I/O問題,還是用於存儲讀數結果的內存大小?)

+1

我建議使用'lines()'作爲Stream,而不是文件不平凡。例如數百MB。 –

回答

5

問題是這種方法將全部文本文件的內容讀入內存。如果它太多,你只會收到java.lang.OutOfMemoryError

是的,澄清:是相對術語。它的數量不能被指定,因爲它取決於特定機器上的空閒內存。

+0

乾杯,我已經增加了澄清(認爲這是顯而易見的,但你是對的,這應該明確emparized)。 – Andremoniy

+0

對不起,如果它看起來很小。當我讀到它時,答案似乎不完整。 – Carcigenicate

+0

沒有麻煩:))))(4微笑,允許評論被添加) – Andremoniy