检索与文件名模式匹配的目录中的文件

时间:2015-08-13 01:44:02

标签: java file io

我需要检索给定目录中与特定文件名匹配的文件。如果找到多个文件,我将发出错误。我怎么能在java中做到这一点?

以下是示例:(这些是参数) Directory = C:\ files Filename =" SampleFileEXT.csv"

假定目录中的文件具有带时间戳的文件名后缀。所以我需要得到" SampleFileEXT20150811090028197.csv"

1 个答案:

答案 0 :(得分:0)

问题是陈旧的。但该解决方案可能对其他读者有所帮助。

public List<File> getFiles(String location, final String type) {

    File folder = new File(location);
    FilenameFilter filter = new FilenameFilter() {
        @Override
        public boolean accept(File dir, String name) {
            return name.toLowerCase().startsWith(type.toLowerCase());
        }
    };
    File[] listOfFiles = folder.listFiles(filter);
    return Arrays.asList(listOfFiles);
}

然后,如果返回单个文件,则可以使用返回值来获取文件;如果返回零个或多个文件,则可以抛出错误。