Вы можете использовать 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();
}
});
}
EDIT
Итак, чтобы сопоставить файлы, которые выглядят так: TXT-20100505-XXXX.trx
, где XXXX
может быть любыми четырьмя последовательными цифрами, сделайте что-то вроде этого:
listFilesMatching(new File("/some/path"), "XT-20100505-\\d{4}\\.trx")