public static void find(String path, String reg) {
Pattern pat = Pattern.compile(reg);
File file = new File(path);
File[] arr = file.listFiles();
for (int i = 0; i < arr.length; i++) {
if (arr[i].isDirectory()) {
find(arr[i].getAbsolutePath(), reg);
}
Matcher mat = pat.matcher(arr[i].getAbsolutePath());
if (mat.matches()) {
System.out.println(arr[i].getAbsolutePath());
}
}
}
public static void main(String[] args) {
find("c:/文件夹", "\\S+\\.txt");
}