2

我想对 Java 中的文件进行过滤。

是否可以创建过滤器来检查文件是否以“汽车”开头并以color.js

我创建了这段代码来检查字符串的结尾是否等于color.js但我如何检查字符串是否以'car'开头

File folder = new File("C:\\test);
    FilenameFilter filter = new FilenameFilter() {
        public boolean accept(File folder, String fileName) {
            return fileName.endsWith("color.js");
        }
    };

    //File[] listOfFiles = folder.listFiles();
    String[] myFiles = folder.list(filter);
4

3 回答 3

4

快速简单的方法:

public boolean accept(File folder, String fileName) {
        return fileName.endsWith("color.js") && filename.startsWith("car");
    }

也许你会发现使用正则表达式更方便:

public boolean accept(File folder, String fileName) {
        return fileName.matches("car.*color[.]js");
    }

但是这样你应该小心在正则表达式模式中看起来是特殊字符的符号。

于 2012-12-31T05:45:02.093 回答
2

以您使用过的相同方式String#endsWith,您可以使用String#startsWith.

于 2012-12-31T05:43:46.030 回答
1

尝试

public boolean accept(File folder, String fileName) {
    return fileName.endsWith("color.js") && fileName.startsWith("car");
}
于 2012-12-31T05:45:11.020 回答