Java文件名过滤器
我需要获取目录中具有特定扩展名(例如,.txt)的所有文件。我应该能够列出扩展名为“.txt”和“.txt”的所有文件(即,它应该不区分大小写)。我已经为此编写了以下课程。为了达到这个目的,我应该在接下来的课程中做什么改变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
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);
}
}
此外,最好检查构造函数中是否已经有一个前导“.”,如果已经有,则不要在另一个前导“.”之前加上前缀