您可以使用File.listFiles(FileFilter):
public static File[] listFilesMatching(File root, String regex) {
if(!root.isDirectory()) {
throw new IllegalArgumentException(root+" is no directory.");
}
final Pattern p = Pattern.compile(regex); // careful: could also throw an exception!
return root.listFiles(new FileFilter(){
@Override
public boolean accept(File file) {
return p.matcher(file.getName()).matches();
}
});
}
编辑
因此,要匹配以下文件:TXT-20100505-XXXX.trx,其中XXXX可以是任意四个连续数字,请执行以下操作:
listFilesMatching(new File("/some/path"), "XT-20100505-\\d{4}\\.trx")