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 金店立秋祝福语简短英文
18 婆婆高寿祝福语大全简短