Java 在文件夹中查找与模式匹配的最新文件

Java 在文件夹中查找与模式匹配的最新文件,java,filter,filelist,Java,Filter,Filelist,我正在编写一个方法,该方法需要2个输入: 字符串名称 字符串路径 然后输出最新的pdf(扩展名为pdf)文件名,该文件名以name(这是一个变量)开头,并且位于路径中 我正在使用: public String getLatestMatchedFilename(String path, String name){ File dir=new File(path); File[] files = dir.listFiles(new FilenameFilter() {

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

  • 字符串名称

  • 字符串路径

  • 然后输出最新的pdf(扩展名为pdf)文件名,该文件名以name(这是一个变量)开头,并且位于路径中

    我正在使用:

    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
    标记方法中的
    字符串名称
    参数(或它将具有的任何名称),以便在匿名类中使用并直接使用它

    下面是代码的外观:

    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 ...
    }
    

    这就成功了。现在我可以将该值传递给accept方法。谢谢