我需要检索给定目录中与特定文件名匹配的文件。如果找到多个文件,我将发出错误。我怎么能在java中做到这一点?
以下是示例:(这些是参数) Directory = C:\ files Filename =" SampleFileEXT.csv"
假定目录中的文件具有带时间戳的文件名后缀。所以我需要得到" SampleFileEXT20150811090028197.csv"
答案 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);
}
然后,如果返回单个文件,则可以使用返回值来获取文件;如果返回零个或多个文件,则可以抛出错误。