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

标签 java arrays

我是 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/

相关文章:

Xmonad 中不显示 Java Swing GUI

java - Android 通知无法访问接收到的字符串

arrays - 将两个数组与一个数组中的索引和另一个 perl 中的值合并

python - 快速选择范围内一定百分比的元素

c - 理解指向指针数组的指针作为函数中的参数

spring - 如何在 JAVA 的 rest API 中将图像返回给浏览器?

java - 从列表返回二维数组未正确索引

java - 独立 JPA 序列

Java 数组 : Sorting scores and displaying with proper name

java - 如何从不同的元素数组中随机选择