我需要获取目录中具有特定扩展名的所有文件(比如.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);
}
}我在accept()中尝试过name.toLowerCase().endsWith(ext);,但不起作用。
提前谢谢。
发布于 2011-11-22 17:33:30
您还需要将扩展名小写。
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);
}
}此外,检查构造函数以查看是否已经有一个前导“可能是一个好主意。如果是这样的话,就不会在前面加上另一个。
https://stackoverflow.com/questions/8224563
复制相似问题