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 对当兵的祝福语简短
12 侄儿高考试祝福语简短
13 伴郎红包祝福语朋友简短
14 媳妇生日简短祝福语朋友
15 公司年会祝福语简短最好
16 元旦感恩祝福语简短大全
17 红包祝福语简短10字
18 周六早晨祝福语简短