<ruby id="bdb3f"></ruby>

    <p id="bdb3f"><cite id="bdb3f"></cite></p>

      <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
        <p id="bdb3f"><cite id="bdb3f"></cite></p>

          <pre id="bdb3f"></pre>
          <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

          <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
          <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

          <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                <ruby id="bdb3f"></ruby>

                合規國際互聯網加速 OSASE為企業客戶提供高速穩定SD-WAN國際加速解決方案。 廣告
                # Java `Files.walk`教程 原文:http://zetcode.com/java/fileswalk/ Java `Files.walk`教程顯示了如何使用`Files.walk`在 Java 中遍歷文件。 `Files.walk`通過遞歸遍歷以給定起始文件為根的文件樹來返回由`Path`延遲填充的流。 文件樹是深度優先遍歷的。 有兩種重載的`Files.walk`方法; 其中之一采用`maxDepth`參數,該參數設置要訪問的最大目錄級別數。 默認情況下,此方法不會自動跟隨符號鏈接。 如果`options`參數包含`FOLLOW_LINKS`選項,則遵循符號鏈接。 ## `Files.walk`常規文件 第一個示例顯示指定目錄中的常規文件。 `FilesWalkRegularFilesEx.java` ```java package com.zetcode; import java.io.IOException; import java.nio.file.Files; import java.nio.file.Path; import java.nio.file.Paths; import java.util.stream.Stream; public class FilesWalkRegularFilesEx { public static void main(String[] args) throws IOException { var dirName = "C:/Users/Jano/Downloads"; try (Stream<Path> paths = Files.walk(Paths.get(dirName), 2)) { paths.filter(Files::isRegularFile) .forEach(System.out::println); } } } ``` 該程序將目錄遍歷兩個級別。 我們應用帶有`Files.isRegular()`謂詞的過濾器。 ## `Files.walk`目錄 以下示例顯示指定目錄中的目錄。 `FilesWalkDirectoriesEx.java` ```java package com.zetcode; import java.io.IOException; import java.nio.file.Files; import java.nio.file.Path; import java.nio.file.Paths; import java.util.stream.Stream; public class FilesWalkDirectoriesEx { public static void main(String[] args) throws IOException { var dirName = "C:/Users/Jano/Downloads"; try (Stream<Path> paths = Files.walk(Paths.get(dirName))) { paths.filter(Files::isDirectory) .forEach(System.out::println); } } } ``` 要輸出目錄,我們應用`Files.isDirectory()`謂詞。 這次沒有遞歸遍歷的限制。 ## `Files.walk`按文件擴展名 下一個程序列出了指定目錄和其子目錄中兩個級別的所有 PDF 文件。 `FilesWalkFileExtensionEx.java` ```java package com.zetcode; import java.io.IOException; import java.nio.file.Files; import java.nio.file.Path; import java.nio.file.Paths; import java.util.stream.Stream; public class FilesWalkFileExtensionEx { public static void main(String[] args) throws IOException { var dirName = "C:/Users/Jano/Downloads"; try (Stream<Path> paths = Files.walk(Paths.get(dirName), 2)) { paths.map(path -> path.toString()).filter(f -> f.endsWith(".pdf")) .forEach(System.out::println); } } } ``` 該程序將在`Downloads`目錄中列出 PDF 文件。 路徑對象被轉換為字符串,我們在字符串上調用`endsWith()`以檢查其是否以`pdf`擴展名結尾。 在本教程中,我們使用`Files.walk`遍歷目錄內容。 您可能也對相關教程感興趣: [Java `Files.list`教程](/java/fileslist/), [Java `Files.walk`教程](/java/fileswalk/), [Java `DirectoryStream`教程](/java/directorystream/), [Java 文件教程](/java/file/) , [Java 創建目錄](/java/createdirectory/),[用 Java 復制文件](/java/copyfile/), [Java `ProcessBuilder`教程](/java/processbuilder/),[用 Java 創建文件](/java/createfile/)和 [Java 教程](/lang/java/)。
                  <ruby id="bdb3f"></ruby>

                  <p id="bdb3f"><cite id="bdb3f"></cite></p>

                    <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
                      <p id="bdb3f"><cite id="bdb3f"></cite></p>

                        <pre id="bdb3f"></pre>
                        <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

                        <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
                        <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

                        <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                              <ruby id="bdb3f"></ruby>

                              哎呀哎呀视频在线观看