protected boolean acceptFile(String fileName, FileNamePattern[] patterns) { int i = 0; for (; i < patterns.length; i++) { if (patterns[i].match(fileName)) { break; } } return i < patterns.length; }
public boolean match(String text) { if (parts == null || parts.length == 0) { if (text.length() == 0) { // handle "" empty patterns return true; } return wstart || wend; } return match(text.toCharArray(), 0, 0, !wstart); }
public static void collectFiles(File root, FileNamePattern pattern, List<File> result) { File[] files = root.listFiles(); for (File file : files) { if (pattern.match(file.getName())) { result.add(file); if (file.isDirectory()) { collectFiles(file, pattern, result); } } } }
public static File[] findFiles(File root, String pattern, boolean recurse) { List<File> result = new ArrayList<>(); if (pattern == null) { if (recurse) { collectFiles(root, result); } else { return root.listFiles(); } } else { FileNamePattern pat = new FileNamePattern(pattern); if (recurse) { collectFiles(root, pat, result); } else { File[] files = root.listFiles(); for (File file : files) { if (pat.match(file.getName())) { result.add(file); } } } } return result.toArray(new File[result.size()]); }