com.gargoylesoftware.base.util

Class DirectoryWalker

public class DirectoryWalker extends 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.5 $

Author: Mike Bowler

Field Summary
FilestartingDirectory_
Constructor Summary
DirectoryWalker(String startingDirectory)
Create an instance
Method Summary
CollectiongetDirectories(FileFilter filter)
Walk through the directory structure and return a collection containing all those directories for which the filter returns true
CollectiongetFiles(FileFilter filter)
Walk through the directory structure and return a collection containing all those files for which the filter returns true
CollectiongetFilesAndDirectories(FileFilter filter)
Walk through the directory structure and return a collection containing all those files and directories for which the filter returns true
Collectionwalk(FileFilter filter, boolean includeFiles, boolean includeDirectories)

Field Detail

startingDirectory_

private final File startingDirectory_

Constructor Detail

DirectoryWalker

public DirectoryWalker(String startingDirectory)
Create an instance

Parameters: startingDirectory the directory to start in

Method Detail

getDirectories

public Collection getDirectories(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

getFiles

public Collection getFiles(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

getFilesAndDirectories

public Collection getFilesAndDirectories(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 Collection walk(FileFilter filter, boolean includeFiles, boolean includeDirectories)