🔥码云GVP开源项目 12k star Uniapp+ElementUI 功能强大 支持多语言、二开方便! 广告
# Java `Files.list`教程 原文:http://zetcode.com/java/fileslist/ Java Files.list 教程显示了如何使用`Files.list`列出 Java 中的文件。 `Files.list`返回目录元素的延迟填充流。 该列表不是递归的。 流的元素是`Path`对象。 ## `Files.list`当前目录 第一个示例列出了当前目录。 `FilesListEx.java` ```java package com.zetcode; import java.io.IOException; import java.nio.file.Files; import java.nio.file.Paths; public class FilesListEx { public static void main(String[] args) throws IOException { Files.list(Paths.get(".")) .forEach(path -> System.out.println(path)); } } ``` 点号代表当前的工作目录。 我们使用`Paths.get()`获得路径对象。 ## `Files.list`目录 以下示例列出了用户主目录中的目录。 `FilesListEx2.java` ```java package com.zetcode; import java.io.File; import java.io.IOException; import java.nio.file.Files; public class FilesListEx2 { public static void main(String[] args) throws IOException { var homeDir = System.getProperty("user.home"); Files.list(new File(homeDir).toPath()) .filter(path -> path.toFile().isDirectory()) .forEach(System.out::println); } } ``` 我们使用`toFile()`将路径对象转换为`File`并调用`isDirectory()`方法。 用`filter()`过滤流。 ## `Files.list`按文件扩展名 下一个程序列出了所有 PDF 文件。 `FilesListEx3.java` ```java package com.zetcode; import java.io.IOException; import java.nio.file.Files; import java.nio.file.Paths; public class FilesListEx3 { public static void main(String[] args) throws IOException { var homeDir = System.getProperty("user.home") + System.getProperty("file.separator") + "Downloads"; Files.list(Paths.get(homeDir)).filter(path -> path.toString().endsWith(".pdf")) .forEach(System.out::println); } } ``` 该程序将在`Downloads`目录中列出 PDF 文件。 路径对象被转换为字符串,我们在字符串上调用`endsWith()`以检查其是否以`pdf`扩展名结尾。 ## `Files.list`计数文件 我们计算 PDF 文件的数量。 `FilesListEx4.java` ```java package com.zetcode; import java.io.IOException; import java.nio.file.Files; import java.nio.file.Paths; public class FilesListEx4 { public static void main(String[] args) throws IOException { var homeDir = System.getProperty("user.home") + System.getProperty("file.separator") + "Downloads"; var nOfPdfFiles = Files.list(Paths.get(homeDir)).filter(path -> path.toString() .endsWith(".pdf")).count(); System.out.printf("There are %d PDF files", nOfPdfFiles); } } ``` 文件数由`count()`确定。 在本教程中,我们使用`Files.list`列出目录内容。 您可能也对相关教程感兴趣: [Java 文件教程](/java/file/), [Java `Files.walk`教程](/java/fileswalk/), [Java `Files.list`教程](/java/fileslist/), [Java `DirectoryStream`教程](/java/directorystream/) , [Java 创建目录](/java/createdirectory/),[用 Java 复制文件](/java/copyfile/), [Java Unix 时间](/java/unixtime/),[用 Java 创建文件](/java/createfile/), [Java 教程](/lang/java/),[阅读 Java](/articles/javareadtext/) 中的文本文件。