com.gargoylesoftware.base.util
Class DirectoryWalker

java.lang.Object
  extended by com.gargoylesoftware.base.util.DirectoryWalker

public class DirectoryWalker
extends java.lang.Object

A class to walk through the directory structure from a given starting point and return either files or directories or both.

The following sample gets all java files.

 final FileFilter filter = new FileFilter() {
     public boolean accept( final File file ) {
         return file.getName().endsWith(".java");
     }
 };

 final DirectoryWalker directoryWalker = new DirectoryWalker(".");
 final Collection files = directoryWalker.getFiles(filter);
 

Version:
$Revision: 1.7 $
Author:
Mike Bowler

Field Summary
private  java.io.File startingDirectory_
           
 
Constructor Summary
DirectoryWalker(java.lang.String startingDirectory)
          Create an instance
 
Method Summary
 java.util.Collection getDirectories(java.io.FileFilter filter)
          Walk through the directory structure and return a collection containing all those directories for which the filter returns true
 java.util.Collection getFiles(java.io.FileFilter filter)
          Walk through the directory structure and return a collection containing all those files for which the filter returns true
 java.util.Collection getFilesAndDirectories(java.io.FileFilter filter)
          Walk through the directory structure and return a collection containing all those files and directories for which the filter returns true
private  java.util.Collection walk(java.io.FileFilter filter, boolean includeFiles, boolean includeDirectories)
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

startingDirectory_

private final java.io.File startingDirectory_
Constructor Detail

DirectoryWalker

public DirectoryWalker(java.lang.String startingDirectory)
Create an instance

Parameters:
startingDirectory - the directory to start in
Method Detail

getFiles

public java.util.Collection getFiles(java.io.FileFilter filter)
Walk through the directory structure and return a collection containing all those files for which the filter returns true

Parameters:
filter - An object to determine whether or not to include this file in the returned collection
Returns:
A collection of File objects

getDirectories

public java.util.Collection getDirectories(java.io.FileFilter filter)
Walk through the directory structure and return a collection containing all those directories for which the filter returns true

Parameters:
filter - An object to determine whether or not to include this directory in the returned collection
Returns:
A collection of File objects

getFilesAndDirectories

public java.util.Collection getFilesAndDirectories(java.io.FileFilter filter)
Walk through the directory structure and return a collection containing all those files and directories for which the filter returns true

Parameters:
filter - An object to determine whether or not to include this file/directory in the returned collection
Returns:
A collection of File objects

walk

private java.util.Collection walk(java.io.FileFilter filter,
                                  boolean includeFiles,
                                  boolean includeDirectories)