Java tutorial
import java.io.File; import java.util.List; import java.util.regex.Matcher; import java.util.regex.Pattern; public class Utils { private static List<File> getFilesRecurse(File dir, Pattern pattern, File exclude, boolean rec, List<File> fileList) { for (File file : dir.listFiles()) { if (file.equals(exclude)) { continue; } if (file.isDirectory() && rec) { getFilesRecurse(file, pattern, exclude, rec, fileList); } else { Matcher m = pattern.matcher(file.getName()); if (m.matches()) { fileList.add(file); } } } return fileList; } }