1 import java.io.File;
2
3 public class FileFinder
4 {
5 private File[] children;
6
7 /**
8 Constructs a file finder for a given directory tree.
9 @param startingDirectory the starting directory of the tree
10 */
11 public FileFinder(File startingDirectory)
12 {
13 children = startingDirectory.listFiles();
14 }
15
16 /**
17 Prints all files whose names end in a given extension.
18 @param extension a file extension (such as ".java")
19 */
20 public void find(String extension)
21 {
22 for (File child : children)
23 {
24 String fileName = child.toString();
25 if (child.isDirectory())
26 {
27 FileFinder finder = new FileFinder(child);
28 finder.find(extension);
29 }
30 else if (fileName.endsWith(extension))
31 {
32 System.out.println(fileName);
33 }
34 }
35 }
36 }