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 }