private void walk(File parent, FileHandler fileHandler) { if (parent.isDirectory()) { for (File child : parent.listFiles()) { walk(child, fileHandler); } } else { fileHandler.handle(parent); } }
/** * Recurse into a directory handling cache files (*.bin) with the supplied {@link FileHandler}. * * @param dir * @param handler */ private void handleDir(File dir, FileHandler handler) { if (dir.isDirectory()) { File[] files = dir.listFiles(); for (File file : files) { if (file.isDirectory()) { handleDir(file, handler); } else { if (file.getName().endsWith(CACHE_FILE_EXT)) handler.handle(file); } } } else { throw new IllegalArgumentException( "handleDir() called with non-directory: " + dir.getAbsolutePath()); } }