java - 查找与文件夹中的模式匹配的最新文件

标签 java filter filelist

我正在编写一个需要 2 个输入的方法:

  1. 字符串名称

  2. 字符串路径

然后输出路径中以name(变量)开头的最新pdf(以pdf为扩展名)文件名。

我正在使用:

public String getLatestMatchedFilename(String path, String name){
    File dir=new File(path);    
    File[] files = dir.listFiles(new FilenameFilter() {
        public boolean accept(File dir, String name) {
            return name.startsWith();
        }
    });
}

但是,我不知道如何将 name 中的值传递到accept方法中,因为它是一个变量并且每次都会改变。

最佳答案

将 name 更改为名为 name 的变量之一。使用 final 标记方法中的 String name 参数(或它具有的任何名称),以便在匿名类中使用并直接使用它。

代码应如下所示:

public String getLatestMatchedFilename(String path, final String name) {
    File dir = new File(path);    
    File[] files = dir.listFiles(new FilenameFilter() {
        public boolean accept(File dir, String nameFilter) {
            return nameFilter.startsWith(name);
        }
    });
    // rest of your code ...
}

关于java - 查找与文件夹中的模式匹配的最新文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28464028/

相关文章:

java - 从 JSONArray Java 中删除条目

android - super 强大的 Android 高通滤波器

python - 如何在 Python 中使用过滤器,该函数属于一个对象,该对象是被过滤列表中的一个元素?

arrays - 在数组内的自定义对象中搜索字典

javascript - 如何在 JavaScript 中将 File 对象添加到 FileList 集合?

javascript - 在 JS 中重建解压缩的 zip 文件的文件/文件夹结构

java - 使 JPA 在 JBoss 服务器上与 Spring Framework 一起工作

java - 了解何时释放应用程序内存的最佳方法

java - 从另一个类调用字符串时出现问题 - 变量可能尚未初始化

javascript - 在javascript中将Blob转换为文件列表