gpt4 book ai didi

Java 文件名过滤器

转载 作者:塔克拉玛干 更新时间:2023-11-03 04:09:03 27 4
gpt4 key购买 nike

我需要获取目录中具有特定扩展名(例如,.txt)的所有文件。我应该能够列出所有具有“.txt”和“.TXT”扩展名的文件(即,它应该不区分大小写)。我为此编写了以下类(class)。我应该在下面的类(class)中做出什么改变才能实现这一点?

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);,但这没有用。

提前致谢。

最佳答案

您也需要将扩展​​名小写。

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);
}
}

此外,检查构造函数以查看是否已经有前导“.”可能是个好主意。如果是这样,则不要添加另一个。

关于Java 文件名过滤器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8224563/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com