org.apache.commons.io.filefilter
Class FileFilterUtils

java.lang.Object
  extended by org.apache.commons.io.filefilter.FileFilterUtils

public class FileFilterUtils
extends Object

Useful utilities for working with file filters. It provides access to all file filter implementations in this package so you don't have to import every class you use.

Since:
Commons IO 1.0
Version:
$Id: FileFilterUtils.java 1005099 2010-10-06 16:13:01Z niallp $
Author:
Stephen Colebourne, Jeremias Maerki, Masato Tezuka, Rahul Akolkar

Constructor Summary
FileFilterUtils()
          FileFilterUtils is not normally instantiated.
 
Method Summary
static IOFileFilter ageFileFilter(Date cutoffDate)
          Returns a filter that returns true if the file was last modified after the specified cutoff date.
static IOFileFilter ageFileFilter(Date cutoffDate, boolean acceptOlder)
          Returns a filter that filters files based on a cutoff date.
static IOFileFilter ageFileFilter(File cutoffReference)
          Returns a filter that returns true if the file was last modified after the specified reference file.
static IOFileFilter ageFileFilter(File cutoffReference, boolean acceptOlder)
          Returns a filter that filters files based on a cutoff reference file.
static IOFileFilter ageFileFilter(long cutoff)
          Returns a filter that returns true if the file was last modified after the specified cutoff time.
static IOFileFilter ageFileFilter(long cutoff, boolean acceptOlder)
          Returns a filter that filters files based on a cutoff time.
static IOFileFilter and(IOFileFilter... filters)
          Returns a filter that ANDs the specified filters.
static IOFileFilter andFileFilter(IOFileFilter filter1, IOFileFilter filter2)
          Deprecated. use and(IOFileFilter...)
static IOFileFilter asFileFilter(FileFilter filter)
          Returns an IOFileFilter that wraps the FileFilter instance.
static IOFileFilter asFileFilter(FilenameFilter filter)
          Returns an IOFileFilter that wraps the FilenameFilter instance.
static IOFileFilter directoryFileFilter()
          Returns a filter that checks if the file is a directory.
static IOFileFilter falseFileFilter()
          Returns a filter that always returns false.
static IOFileFilter fileFileFilter()
          Returns a filter that checks if the file is a file (and not a directory).
static File[] filter(IOFileFilter filter, File... files)
           Applies an IOFileFilter to the provided File objects.
static File[] filter(IOFileFilter filter, Iterable<File> files)
           Applies an IOFileFilter to the provided File objects.
static List<File> filterList(IOFileFilter filter, File... files)
           Applies an IOFileFilter to the provided File objects.
static List<File> filterList(IOFileFilter filter, Iterable<File> files)
           Applies an IOFileFilter to the provided File objects.
static Set<File> filterSet(IOFileFilter filter, File... files)
           Applies an IOFileFilter to the provided File objects.
static Set<File> filterSet(IOFileFilter filter, Iterable<File> files)
           Applies an IOFileFilter to the provided File objects.
static IOFileFilter magicNumberFileFilter(byte[] magicNumber)
          Returns a filter that accepts files that begin with the provided magic number.
static IOFileFilter magicNumberFileFilter(byte[] magicNumber, long offset)
          Returns a filter that accepts files that contains the provided magic number at a specified offset within the file.
static IOFileFilter magicNumberFileFilter(String magicNumber)
          Returns a filter that accepts files that begin with the provided magic number.
static IOFileFilter magicNumberFileFilter(String magicNumber, long offset)
          Returns a filter that accepts files that contains the provided magic number at a specified offset within the file.
static IOFileFilter makeCVSAware(IOFileFilter filter)
          Decorates a filter to make it ignore CVS directories.
static IOFileFilter makeDirectoryOnly(IOFileFilter filter)
          Decorates a filter so that it only applies to directories and not to files.
static IOFileFilter makeFileOnly(IOFileFilter filter)
          Decorates a filter so that it only applies to files and not to directories.
static IOFileFilter makeSVNAware(IOFileFilter filter)
          Decorates a filter to make it ignore SVN directories.
static IOFileFilter nameFileFilter(String name)
          Returns a filter that returns true if the filename matches the specified text.
static IOFileFilter nameFileFilter(String name, IOCase caseSensitivity)
          Returns a filter that returns true if the filename matches the specified text.
static IOFileFilter notFileFilter(IOFileFilter filter)
          Returns a filter that NOTs the specified filter.
static IOFileFilter or(IOFileFilter... filters)
          Returns a filter that ORs the specified filters.
static IOFileFilter orFileFilter(IOFileFilter filter1, IOFileFilter filter2)
          Deprecated. use or(IOFileFilter...)
static IOFileFilter prefixFileFilter(String prefix)
          Returns a filter that returns true if the filename starts with the specified text.
static IOFileFilter prefixFileFilter(String prefix, IOCase caseSensitivity)
          Returns a filter that returns true if the filename starts with the specified text.
static IOFileFilter sizeFileFilter(long threshold)
          Returns a filter that returns true if the file is bigger than a certain size.
static IOFileFilter sizeFileFilter(long threshold, boolean acceptLarger)
          Returns a filter that filters based on file size.
static IOFileFilter sizeRangeFileFilter(long minSizeInclusive, long maxSizeInclusive)
          Returns a filter that accepts files whose size is >= minimum size and <= maximum size.
static IOFileFilter suffixFileFilter(String suffix)
          Returns a filter that returns true if the filename ends with the specified text.
static IOFileFilter suffixFileFilter(String suffix, IOCase caseSensitivity)
          Returns a filter that returns true if the filename ends with the specified text.
static List<IOFileFilter> toList(IOFileFilter... filters)
          Create a List of file filters.
static IOFileFilter trueFileFilter()
          Returns a filter that always returns true.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

FileFilterUtils

public FileFilterUtils()
FileFilterUtils is not normally instantiated.

Method Detail

filter

public static File[] filter(IOFileFilter filter,
                            File... files)

Applies an IOFileFilter to the provided File objects. The resulting array is a subset of the original file list that matches the provided filter.

The Set returned by this method is not guaranteed to be thread safe.

 Set<File> allFiles = ...
 Set<File> javaFiles = FileFilterUtils.filterSet(allFiles,
     FileFilterUtils.suffixFileFilter(".java"));
 

Parameters:
filter - the filter to apply to the set of files.
files - the array of files to apply the filter to.
Returns:
a subset of files that is accepted by the file filter.
Throws:
IllegalArgumentException - if the filter is null or files contains a null value.
Since:
Commons IO 2.0

filter

public static File[] filter(IOFileFilter filter,
                            Iterable<File> files)

Applies an IOFileFilter to the provided File objects. The resulting array is a subset of the original file list that matches the provided filter.

The Set returned by this method is not guaranteed to be thread safe.

 Set<File> allFiles = ...
 Set<File> javaFiles = FileFilterUtils.filterSet(allFiles,
     FileFilterUtils.suffixFileFilter(".java"));
 

Parameters:
filter - the filter to apply to the set of files.
files - the array of files to apply the filter to.
Returns:
a subset of files that is accepted by the file filter.
Throws:
IllegalArgumentException - if the filter is null or files contains a null value.
Since:
Commons IO 2.0

filterList

public static List<File> filterList(IOFileFilter filter,
                                    Iterable<File> files)

Applies an IOFileFilter to the provided File objects. The resulting list is a subset of the original files that matches the provided filter.

The List returned by this method is not guaranteed to be thread safe.

 List<File> filesAndDirectories = ...
 List<File> directories = FileFilterUtils.filterList(filesAndDirectories,
     FileFilterUtils.directoryFileFilter());
 

Parameters:
filter - the filter to apply to each files in the list.
files - the collection of files to apply the filter to.
Returns:
a subset of files that is accepted by the file filter.
Throws:
IllegalArgumentException - if the filter is null or files contains a null value.
Since:
Commons IO 2.0

filterList

public static List<File> filterList(IOFileFilter filter,
                                    File... files)

Applies an IOFileFilter to the provided File objects. The resulting list is a subset of the original files that matches the provided filter.

The List returned by this method is not guaranteed to be thread safe.

 List<File> filesAndDirectories = ...
 List<File> directories = FileFilterUtils.filterList(filesAndDirectories,
     FileFilterUtils.directoryFileFilter());
 

Parameters:
filter - the filter to apply to each files in the list.
files - the collection of files to apply the filter to.
Returns:
a subset of files that is accepted by the file filter.
Throws:
IllegalArgumentException - if the filter is null or files contains a null value.
Since:
Commons IO 2.0

filterSet

public static Set<File> filterSet(IOFileFilter filter,
                                  File... files)

Applies an IOFileFilter to the provided File objects. The resulting set is a subset of the original file list that matches the provided filter.

The Set returned by this method is not guaranteed to be thread safe.

 Set<File> allFiles = ...
 Set<File> javaFiles = FileFilterUtils.filterSet(allFiles,
     FileFilterUtils.suffixFileFilter(".java"));
 

Parameters:
filter - the filter to apply to the set of files.
files - the collection of files to apply the filter to.
Returns:
a subset of files that is accepted by the file filter.
Throws:
IllegalArgumentException - if the filter is null or files contains a null value.
Since:
Commons IO 2.0

filterSet

public static Set<File> filterSet(IOFileFilter filter,
                                  Iterable<File> files)

Applies an IOFileFilter to the provided File objects. The resulting set is a subset of the original file list that matches the provided filter.

The Set returned by this method is not guaranteed to be thread safe.

 Set<File> allFiles = ...
 Set<File> javaFiles = FileFilterUtils.filterSet(allFiles,
     FileFilterUtils.suffixFileFilter(".java"));
 

Parameters:
filter - the filter to apply to the set of files.
files - the collection of files to apply the filter to.
Returns:
a subset of files that is accepted by the file filter.
Throws:
IllegalArgumentException - if the filter is null or files contains a null value.
Since:
Commons IO 2.0

prefixFileFilter

public static IOFileFilter prefixFileFilter(String prefix)
Returns a filter that returns true if the filename starts with the specified text.

Parameters:
prefix - the filename prefix
Returns:
a prefix checking filter
See Also:
PrefixFileFilter

prefixFileFilter

public static IOFileFilter prefixFileFilter(String prefix,
                                            IOCase caseSensitivity)
Returns a filter that returns true if the filename starts with the specified text.

Parameters:
prefix - the filename prefix
caseSensitivity - how to handle case sensitivity, null means case-sensitive
Returns:
a prefix checking filter
Since:
Commons IO 2.0
See Also:
PrefixFileFilter

suffixFileFilter

public static IOFileFilter suffixFileFilter(String suffix)
Returns a filter that returns true if the filename ends with the specified text.

Parameters:
suffix - the filename suffix
Returns:
a suffix checking filter
See Also:
SuffixFileFilter

suffixFileFilter

public static IOFileFilter suffixFileFilter(String suffix,
                                            IOCase caseSensitivity)
Returns a filter that returns true if the filename ends with the specified text.

Parameters:
suffix - the filename suffix
caseSensitivity - how to handle case sensitivity, null means case-sensitive
Returns:
a suffix checking filter
Since:
Commons IO 2.0
See Also:
SuffixFileFilter

nameFileFilter

public static IOFileFilter nameFileFilter(String name)
Returns a filter that returns true if the filename matches the specified text.

Parameters:
name - the filename
Returns:
a name checking filter
See Also:
NameFileFilter

nameFileFilter

public static IOFileFilter nameFileFilter(String name,
                                          IOCase caseSensitivity)
Returns a filter that returns true if the filename matches the specified text.

Parameters:
name - the filename
caseSensitivity - how to handle case sensitivity, null means case-sensitive
Returns:
a name checking filter
Since:
Commons IO 2.0
See Also:
NameFileFilter

directoryFileFilter

public static IOFileFilter directoryFileFilter()
Returns a filter that checks if the file is a directory.

Returns:
file filter that accepts only directories and not files
See Also:
DirectoryFileFilter.DIRECTORY

fileFileFilter

public static IOFileFilter fileFileFilter()
Returns a filter that checks if the file is a file (and not a directory).

Returns:
file filter that accepts only files and not directories
See Also:
FileFileFilter.FILE

andFileFilter

@Deprecated
public static IOFileFilter andFileFilter(IOFileFilter filter1,
                                                    IOFileFilter filter2)
Deprecated. use and(IOFileFilter...)

Returns a filter that ANDs the two specified filters.

Parameters:
filter1 - the first filter
filter2 - the second filter
Returns:
a filter that ANDs the two specified filters
See Also:
and(IOFileFilter...), AndFileFilter

orFileFilter

@Deprecated
public static IOFileFilter orFileFilter(IOFileFilter filter1,
                                                   IOFileFilter filter2)
Deprecated. use or(IOFileFilter...)

Returns a filter that ORs the two specified filters.

Parameters:
filter1 - the first filter
filter2 - the second filter
Returns:
a filter that ORs the two specified filters
See Also:
or(IOFileFilter...), OrFileFilter

and

public static IOFileFilter and(IOFileFilter... filters)
Returns a filter that ANDs the specified filters.

Parameters:
filters - the IOFileFilters that will be ANDed together.
Returns:
a filter that ANDs the specified filters
Throws:
IllegalArgumentException - if the filters are null or contain a null value.
Since:
Commons IO 2.0
See Also:
AndFileFilter

or

public static IOFileFilter or(IOFileFilter... filters)
Returns a filter that ORs the specified filters.

Parameters:
filters - the IOFileFilters that will be ORed together.
Returns:
a filter that ORs the specified filters
Throws:
IllegalArgumentException - if the filters are null or contain a null value.
Since:
Commons IO 2.0
See Also:
OrFileFilter

toList

public static List<IOFileFilter> toList(IOFileFilter... filters)
Create a List of file filters.

Parameters:
filters - The file filters
Returns:
The list of file filters
Throws:
IllegalArgumentException - if the filters are null or contain a null value.
Since:
Commons IO 2.0

notFileFilter

public static IOFileFilter notFileFilter(IOFileFilter filter)
Returns a filter that NOTs the specified filter.

Parameters:
filter - the filter to invert
Returns:
a filter that NOTs the specified filter
See Also:
NotFileFilter

trueFileFilter

public static IOFileFilter trueFileFilter()
Returns a filter that always returns true.

Returns:
a true filter
See Also:
TrueFileFilter.TRUE

falseFileFilter

public static IOFileFilter falseFileFilter()
Returns a filter that always returns false.

Returns:
a false filter
See Also:
FalseFileFilter.FALSE

asFileFilter

public static IOFileFilter asFileFilter(FileFilter filter)
Returns an IOFileFilter that wraps the FileFilter instance.

Parameters:
filter - the filter to be wrapped
Returns:
a new filter that implements IOFileFilter
See Also:
DelegateFileFilter

asFileFilter

public static IOFileFilter asFileFilter(FilenameFilter filter)
Returns an IOFileFilter that wraps the FilenameFilter instance.

Parameters:
filter - the filter to be wrapped
Returns:
a new filter that implements IOFileFilter
See Also:
DelegateFileFilter

ageFileFilter

public static IOFileFilter ageFileFilter(long cutoff)
Returns a filter that returns true if the file was last modified after the specified cutoff time.

Parameters:
cutoff - the time threshold
Returns:
an appropriately configured age file filter
Since:
Commons IO 1.2
See Also:
AgeFileFilter

ageFileFilter

public static IOFileFilter ageFileFilter(long cutoff,
                                         boolean acceptOlder)
Returns a filter that filters files based on a cutoff time.

Parameters:
cutoff - the time threshold
acceptOlder - if true, older files get accepted, if false, newer
Returns:
an appropriately configured age file filter
Since:
Commons IO 1.2
See Also:
AgeFileFilter

ageFileFilter

public static IOFileFilter ageFileFilter(Date cutoffDate)
Returns a filter that returns true if the file was last modified after the specified cutoff date.

Parameters:
cutoffDate - the time threshold
Returns:
an appropriately configured age file filter
Since:
Commons IO 1.2
See Also:
AgeFileFilter

ageFileFilter

public static IOFileFilter ageFileFilter(Date cutoffDate,
                                         boolean acceptOlder)
Returns a filter that filters files based on a cutoff date.

Parameters:
cutoffDate - the time threshold
acceptOlder - if true, older files get accepted, if false, newer
Returns:
an appropriately configured age file filter
Since:
Commons IO 1.2
See Also:
AgeFileFilter

ageFileFilter

public static IOFileFilter ageFileFilter(File cutoffReference)
Returns a filter that returns true if the file was last modified after the specified reference file.

Parameters:
cutoffReference - the file whose last modification time is usesd as the threshold age of the files
Returns:
an appropriately configured age file filter
Since:
Commons IO 1.2
See Also:
AgeFileFilter

ageFileFilter

public static IOFileFilter ageFileFilter(File cutoffReference,
                                         boolean acceptOlder)
Returns a filter that filters files based on a cutoff reference file.

Parameters:
cutoffReference - the file whose last modification time is usesd as the threshold age of the files
acceptOlder - if true, older files get accepted, if false, newer
Returns:
an appropriately configured age file filter
Since:
Commons IO 1.2
See Also:
AgeFileFilter

sizeFileFilter

public static IOFileFilter sizeFileFilter(long threshold)
Returns a filter that returns true if the file is bigger than a certain size.

Parameters:
threshold - the file size threshold
Returns:
an appropriately configured SizeFileFilter
Since:
Commons IO 1.2
See Also:
SizeFileFilter

sizeFileFilter

public static IOFileFilter sizeFileFilter(long threshold,
                                          boolean acceptLarger)
Returns a filter that filters based on file size.

Parameters:
threshold - the file size threshold
acceptLarger - if true, larger files get accepted, if false, smaller
Returns:
an appropriately configured SizeFileFilter
Since:
Commons IO 1.2
See Also:
SizeFileFilter

sizeRangeFileFilter

public static IOFileFilter sizeRangeFileFilter(long minSizeInclusive,
                                               long maxSizeInclusive)
Returns a filter that accepts files whose size is >= minimum size and <= maximum size.

Parameters:
minSizeInclusive - the minimum file size (inclusive)
maxSizeInclusive - the maximum file size (inclusive)
Returns:
an appropriately configured IOFileFilter
Since:
Commons IO 1.3
See Also:
SizeFileFilter

magicNumberFileFilter

public static IOFileFilter magicNumberFileFilter(String magicNumber)
Returns a filter that accepts files that begin with the provided magic number.

Parameters:
magicNumber - the magic number (byte sequence) to match at the beginning of each file.
Returns:
an IOFileFilter that accepts files beginning with the provided magic number.
Throws:
IllegalArgumentException - if magicNumber is null or the empty String.
Since:
Commons IO 2.0
See Also:
MagicNumberFileFilter

magicNumberFileFilter

public static IOFileFilter magicNumberFileFilter(String magicNumber,
                                                 long offset)
Returns a filter that accepts files that contains the provided magic number at a specified offset within the file.

Parameters:
magicNumber - the magic number (byte sequence) to match at the provided offset in each file.
offset - the offset within the files to look for the magic number.
Returns:
an IOFileFilter that accepts files containing the magic number at the specified offset.
Throws:
IllegalArgumentException - if magicNumber is null or the empty String, or if offset is a negative number.
Since:
Commons IO 2.0
See Also:
MagicNumberFileFilter

magicNumberFileFilter

public static IOFileFilter magicNumberFileFilter(byte[] magicNumber)
Returns a filter that accepts files that begin with the provided magic number.

Parameters:
magicNumber - the magic number (byte sequence) to match at the beginning of each file.
Returns:
an IOFileFilter that accepts files beginning with the provided magic number.
Throws:
IllegalArgumentException - if magicNumber is null or is of length zero.
Since:
Commons IO 2.0
See Also:
MagicNumberFileFilter

magicNumberFileFilter

public static IOFileFilter magicNumberFileFilter(byte[] magicNumber,
                                                 long offset)
Returns a filter that accepts files that contains the provided magic number at a specified offset within the file.

Parameters:
magicNumber - the magic number (byte sequence) to match at the provided offset in each file.
offset - the offset within the files to look for the magic number.
Returns:
an IOFileFilter that accepts files containing the magic number at the specified offset.
Throws:
IllegalArgumentException - if magicNumber is null, or contains no bytes, or offset is a negative number.
Since:
Commons IO 2.0
See Also:
MagicNumberFileFilter

makeCVSAware

public static IOFileFilter makeCVSAware(IOFileFilter filter)
Decorates a filter to make it ignore CVS directories. Passing in null will return a filter that accepts everything except CVS directories.

Parameters:
filter - the filter to decorate, null means an unrestricted filter
Returns:
the decorated filter, never null
Since:
Commons IO 1.1 (method existed but had bug in 1.0)

makeSVNAware

public static IOFileFilter makeSVNAware(IOFileFilter filter)
Decorates a filter to make it ignore SVN directories. Passing in null will return a filter that accepts everything except SVN directories.

Parameters:
filter - the filter to decorate, null means an unrestricted filter
Returns:
the decorated filter, never null
Since:
Commons IO 1.1

makeDirectoryOnly

public static IOFileFilter makeDirectoryOnly(IOFileFilter filter)
Decorates a filter so that it only applies to directories and not to files.

Parameters:
filter - the filter to decorate, null means an unrestricted filter
Returns:
the decorated filter, never null
Since:
Commons IO 1.3
See Also:
DirectoryFileFilter.DIRECTORY

makeFileOnly

public static IOFileFilter makeFileOnly(IOFileFilter filter)
Decorates a filter so that it only applies to files and not to directories.

Parameters:
filter - the filter to decorate, null means an unrestricted filter
Returns:
the decorated filter, never null
Since:
Commons IO 1.3
See Also:
FileFileFilter.FILE


Copyright © 2002-2011 The Apache Software Foundation. All Rights Reserved.