public static synchronized List<File> dir(String dir, Predicate<File> filter) { ArrayList<File> files = new ArrayList<>(); getFiles(files, new File(dir), filter); return files; }
public static synchronized void files(String packageName, Collection<File> files, Predicate<File> filter) { Enumeration<URL> urls = getResources(packageName); while (urls.hasMoreElements()) { URL url = urls.nextElement(); File file = new File(url.getFile()); getFiles(files, file, filter); } }
private static void getFiles(Collection<File> files, File file, Predicate<File> filter) { if (file.isDirectory()) { Log.trace("scanning directory", "dir", file); for (File f : file.listFiles()) { if (f.isDirectory()) { getFiles(files, f, filter); } else { Log.trace("scanned file", "file", f); try { if (filter == null || filter.eval(f)) { files.add(f); } } catch (Exception e) { throw U.rte(e); } } } } }
public static synchronized List<File> dir(String dir, Predicate<File> filter) { ArrayList<File> files = new ArrayList<File>(); getFiles(files, new File(dir), filter); return files; }
public static synchronized void files(String packageName, Collection<File> files, Predicate<File> filter) { Enumeration<URL> urls = resources(packageName); while (urls.hasMoreElements()) { URL url = urls.nextElement(); File file = new File(url.getFile()); getFiles(files, file, filter); } }
private static void getFiles(Collection<File> files, File file, Predicate<File> filter) { if (file.isDirectory()) { Log.debug("scanning directory", "dir", file); for (File f : file.listFiles()) { if (f.isDirectory()) { getFiles(files, f, filter); } else { Log.debug("scanned file", "file", f); try { if (filter == null || filter.eval(f)) { files.add(f); } } catch (Exception e) { throw U.rte(e); } } } } }