Overview | Package | Class | Use | Tree | Deprecated | Index | Help
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

## org.apache.commons.io.filefilter
Class FileFilterUtils

    java.lang.Object
      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`

Overview | Package | Class | Use | Tree | Deprecated | Index | Help
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

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