1 package com.imcode.util; 2 3 import java.io.File; 4 import java.io.FileFilter; 5 6 public class FileTreeTraverser { 7 8 private FileFilter filter; 9 10 public FileTreeTraverser( FileFilter filter ) { 11 this.filter = filter; 12 } 13 14 public void traverse( File[] files ) { 15 for ( int i = 0; i < files.length; i++ ) { 16 traverseDirectory( files[i] ); 17 } 18 } 19 20 public void traverseDirectory( File dir ) { 21 if ( filter.accept( dir ) && dir.isDirectory() ) { 22 File[] files = dir.listFiles(); 23 if ( null != files ) { 24 traverse( files ); 25 } 26 } 27 } 28 29 }