public void start(String[] args) { try { if (args.length == 0) processDirectoryTree(new File("")); else for (String arg : args) { File fileArg = new File(arg); if (fileArg.isDirectory()) processDirectoryTree(fileArg); else { // Allow user to leave off extension: if (!arg.endsWith("" + ext)) arg += "" + ext; strategy.process(new File(arg).getCanonicalFile()); } } } catch (IOException e) { throw new RuntimeException(e); } }
public void processDirectoryTree(File root) throws IOException { for (File file : Directory.walk(root.getAbsolutePath(), ".*\\." + ext)) strategy.process(file.getCanonicalFile()); }