首頁 >Java >java教程 >Java中如何有效率地讀取檔案中的特定行?

Java中如何有效率地讀取檔案中的特定行?

DDD
DDD原創
2024-12-16 14:31:12820瀏覽

How Can I Efficiently Read a Specific Line from a File in Java?

在Java 中從檔案中讀取特定行

在Java 中,可以使用多種方法來實作從檔案中讀取特定行。本文探討了兩種根據行號存取特定行的方法。

小文件

對於小文本文件,一個簡單的解決方案是將所有行讀入列表中然後使用其索引檢索所需的行。 Files.readAllLines(Path) 方法可用於讀取所有行,如下所示:

String line32 = Files.readAllLines(Paths.get("file.txt")).get(32);

但是,這種方法對於大檔案效率不高,因為它將整個檔案載入記憶體。

大檔案

對於大文件,避免載入完整檔案的另一種方法是使用Skip() 和 findFirst() 方法。在這裡,我們跳過前n-1 行,然後檢索第n 行:

try (Stream<String> lines = Files.lines(Paths.get("file.txt"))) {
    line32 = lines.skip(31).findFirst().get();
}

這種方法對於大檔案更有效,因為它逐行流式傳輸,最大限度地減少記憶體使用。

以上是Java中如何有效率地讀取檔案中的特定行?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn