View Javadoc
1 package net.sourceforge.pmd.cpd; 2 3 import java.io.File; 4 import java.io.FilenameFilter; 5 import java.util.ArrayList; 6 import java.util.List; 7 8 public class FileFinder { 9 10 private FilenameFilter filter; 11 private static final String FILE_SEP = System.getProperty("file.separator"); 12 13 public List findFilesFrom(String dir, FilenameFilter filter, boolean recurse) { 14 this.filter = filter; 15 List files = new ArrayList(); 16 scanDirectory(new File(dir), files, recurse); 17 return files; 18 } 19 20 /*** 21 * Implements a tail recursive file scanner 22 */ 23 private void scanDirectory(File dir, List list, boolean recurse) { 24 String[] candidates = dir.list(filter); 25 for (int i = 0; i < candidates.length; i++) { 26 File tmp = new File(dir + FILE_SEP + candidates[i]); 27 if (tmp.isDirectory()) { 28 if (recurse) { 29 scanDirectory(tmp, list, true); 30 } 31 } else { 32 list.add(new File(dir + FILE_SEP + candidates[i])); 33 } 34 } 35 } 36 }

This page was automatically generated by Maven