Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/312.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/file/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java文件名过滤器_Java_File_Filter_Names - Fatal编程技术网

Java文件名过滤器

Java文件名过滤器,java,file,filter,names,Java,File,Filter,Names,我需要获取目录中具有特定扩展名(例如,.txt)的所有文件。我应该能够列出扩展名为“.txt”和“.txt”的所有文件(即,它应该不区分大小写)。我已经为此编写了以下课程。为了达到这个目的,我应该在接下来的课程中做什么改变 class OnlyExt implements FilenameFilter { String ext; public OnlyExt(String ext) { this.ext = "." + ext; } publi

我需要获取目录中具有特定扩展名(例如,.txt)的所有文件。我应该能够列出扩展名为“.txt”和“.txt”的所有文件(即,它应该不区分大小写)。我已经为此编写了以下课程。为了达到这个目的,我应该在接下来的课程中做什么改变

class OnlyExt implements FilenameFilter {
    String ext;

    public OnlyExt(String ext) {
        this.ext = "." + ext;
    }

    public boolean accept(File dir, String name) {
        return name.endsWith(ext);
    }
}
我试过
name.toLowerCase().endsWith(ext)accept()
中选择code>,但这不起作用


提前谢谢。

您还需要将扩展名小写

class OnlyExt implements FilenameFilter {
    String ext;

    public OnlyExt(String ext) {
        this.ext = ("." + ext).toLowerCase();
    }

    public boolean accept(File dir, String name) {
        return name.toLowerCase().endsWith(ext);
    }
}
此外,最好检查构造函数中是否已经有一个前导“.”,如果已经有,则不要在另一个前导“.”之前加上前缀