首頁 >Java >java教程 >如何使用 Java 遞歸列出目錄中的檔案?

如何使用 Java 遞歸列出目錄中的檔案?

Susan Sarandon
Susan Sarandon原創
2024-12-21 05:28:14747瀏覽

How Can I Recursively List Files in a Directory Using Java?

Java 中的遞歸檔案清單

當需要在Java 中遞歸列出目錄中的檔案時,Java API 提供了一個全面的解決方案。

Java 8 的本機解決方案Stream

Java 8 引入了一種方便的基於流的方法來遍歷分層結構中的文件:

try (Stream<Path> stream = Files.walk(Paths.get(path))) {
    stream.filter(Files::isRegularFile)
          .forEach(System.out::println);
}

這種以流為中心的機制為執行各種操作(包括過濾)提供了靈活性檔案路徑上的、分組和映射。

其他注意事項

  1. 檔案屬性過濾:對於特定的檔案屬性過濾條件,Java 提供了Files.find 方法:
Files.find(Paths.get(path),
           Integer.MAX_VALUE,
           (filePath, fileAttr) -> fileAttr.isRegularFile())
        .forEach(System.out::println);
  1. 效能比較:基準測試結果顯示之間的效能差異最小根據檔案屬性進行過濾時的 Files.walk 和 Files.find。然而,由於其重載和易用性,Files.walk 通常被證明更方便。

以上是如何使用 Java 遞歸列出目錄中的檔案?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

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