gpt4 book ai didi

Java - 如何在 File[] 中收集结果后填充字符串数组

转载 作者:行者123 更新时间:2023-11-29 08:32:15 25 4
gpt4 key购买 nike

我是 Java 编程的新手。我想要实现的是获取具有特定模式的文件名,我将这些文件名收集到一个字符串数组中。我能够打印结果,而不是那样,我想将文件名放入字符串数组中,以便我可以在程序的其余部分进一步使用数组的长度。

File folder = new File("/Test1/Test2/Test3/XYZ03/");
String target_file;
File[] listOfFiles = folder.listFiles();
for (int i = 0; i < listOfFiles.length; i++) {
if (listOfFiles[i].isFile()) {
target_file = listOfFiles[i].getName();
if (target_file.startsWith("XYZ03") && target_file.endsWith(".dat")) {
System.out.println("found" + " " + target_file);
}
}
}

最佳答案

新的 nio 类:

List<String> fileNames = Files.list(Paths.get("/Test1/Test2/Test3/XYZ03"))
.map(Path::getFileName)
.map(Path::toString)
.filter(name -> name.startsWith("XYZ03") && name.endsWith(".dat"))
.collect(Collectors.toList());

或者正如@MalteHartwig 评论的那样:

long fileCount = Files.list(Paths.get("/Test1/Test2/Test3/XYZ03"))
.map(Path::getFileName)
.map(Path::toString)
.filter(name -> name.startsWith("XYZ03") && name.endsWith(".dat"))
.count();

Files.list 是一个惰性流 (java 8)。

关于Java - 如何在 File[] 中收集结果后填充字符串数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46931422/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com