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

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

Susan Sarandon
Susan Sarandon原創
2024-11-27 11:56:09837瀏覽

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

從 Java 中的文件中讀取特定行

從文件中檢索特定行在各種情況下都很有用。 Java 提供了多種方法來完成此任務,特別是在處理小檔案和大檔案時。

小檔案

如果檔案大小相對較小,最簡單的方法是將整個檔案讀入內存,然後存取所需的行。這可以使用Files.readAllLines() 方法來實現:

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

在此範例中,Paths.get("file.txt") 部分錶示檔案路徑,readAllLines() 讀取整個檔案檔案並將每一行作為字串儲存在列表中。透過使用 get(32),我們可以直接存取清單中的第 32 行。

大檔案

對於大文件,將整個檔案讀入記憶體可能是效率低下。在這種情況下,Files.lines() 方法可用於逐行處理檔案:

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

這裡,Files.lines() 從檔案建立行流。 Skip(31) 方法跳過前 31 行,findFirst() 方法檢索第 32 行。最後,get() 將可選值轉換為字串。

這種方法可讓您有效率地遍歷檔案並檢索所需的行,而無需將整個檔案載入記憶體。

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

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