Java如何使用DirectoryStream在目录中查找文件?
在此示例中,我们将学习使用包的DirectoryStream哪一部分java.nio.file在目录中查找文件。我们首先创建一个Path,将在其中进行搜索的目录。
之后,我们创建一个DirectoryStreamusingFiles.newDirectoryStream()。为了创建目录流,我们传递了两个参数,即起始路径和glob表达式。下面我们使用*.txtglob表达式来过滤中的所有文本文件D:/Workbench。
要获取目录流的所有条目,我们可以使用一个foreach循环,如下所示。我们迭代每个条目,它是一个Path对象。然后,使用该getFileName()方法打印条目文件名。
package org.nhooo.example.io;
import java.io.IOException;
import java.nio.file.DirectoryStream;
import java.nio.file.Files;
import java.nio.file.Path;
import java.nio.file.Paths;
public class FindFilesInDirectory {
public static void main(String[] args) {
Path dir = Paths.get("D:/Workbench");
try (DirectoryStream<Path> stream = Files.newDirectoryStream(dir, "*.txt")) {
for (Path entry : stream) {
System.out.println(entry.getFileName());
}
} catch (IOException e) {
e.printStackTrace();
}
}
}您还可以注意到,在此示例中,我们正在使用该try-with-resource语句。这意味着该过程完成后,DirectoryStream将被适当关闭。这种try声明是JDK7中引入的改进。
热门推荐
10 宝宝周岁敬酒祝福语简短
11 祝福语大全简短6个
12 圣诞饭店祝福语大全简短
13 中秋祝福语送朋友简短
14 关于开车的祝福语简短
15 新婚贺词简短的祝福语
16 结婚祝福语简短精辟好记
17 浪漫的生日祝福语简短
18 祝球员赛前祝福语简短