java - 流处理 - 按名称在给定目录中搜​​索文件/目录

标签 java file java-8 functional-programming java-stream

我目前正在完成一项作业,其中包括创建一个实用程序类,该类的方法允许在给定(作为参数)目录中按名称搜索文件/目录。

练习是我有义务在函数式编程/流处理领域内执行此操作。

我尝试使用 .walk().find() 来实现此目的,但它不起作用

public static List<File> findFile(Path path, String name) throws IOException{

    return Files.walk(path)
            .filter(n -> n.getFileName().toString().equals(name))
            .map(n -> n.toFile())
            .collect(Collectors.toList());
}

最佳答案

查看this question

File dir= new File("path");
File[] fileList = dir.listFiles(new FilenameFilter() 
{
    public boolean accept(File dir, String foundFileName) 
   {
        return name.equalsIgnoreCase(foundFileName);
   }
});

尽管您似乎只是想搜索一个特定文件,但它并不是执行此任务的最佳代码。无论如何,您的文件应该位于数组的第一个位置。或者制作一些令人讨厌的 dir.listFiles()..[0]

关于java - 流处理 - 按名称在给定目录中搜​​索文件/目录,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54188744/

相关文章:

java - 为什么 RandomAccessFile 采用字符串而不是枚举作为 "mode"参数?

java - 将文件从输入流复制到输出流会导致错误的副本

java - 加入有限制的字符串

java - Stream.of 具有混合输入内容

java - 是否有用于 x64 的 JNI 共享 stub 实现?

java - 在 Java 中使用多个分隔符分割字符串时出现不需要的元素

java - 如何使用 java 8 Lambdas 和线程池实例化对象或调用 setter 以传递来自不同线程的值?

python - 使用 for 循环调整 etopo 中的网格数据大小

c# - 在 C# 4.0 Winform 中为程序(如 MS Word)仅打开一次文件

java - 从 Java 8 中的单词字典中计算文本的值