Class SuffixFileFilter

java.lang.Object
org.apache.commons.io.filefilter.AbstractFileFilter
org.apache.commons.io.filefilter.SuffixFileFilter
All Implemented Interfaces:
FileFilter, FilenameFilter, Serializable, IOFileFilter

public class SuffixFileFilter extends AbstractFileFilter implements Serializable
Filters files based on the suffix (what the file name ends with). This is used in retrieving all the files of a particular type.

For example, to retrieve and print all *.java files in the current directory:

 File dir = new File(".");
 String[] files = dir.list( new SuffixFileFilter(".java") );
 for (int i = 0; i < files.length; i++) {
     System.out.println(files[i]);
 }
 
Since:
1.0
See Also:
  • Field Details

    • serialVersionUID

      private static final long serialVersionUID
      See Also:
    • suffixes

      private final String[] suffixes
      The file name suffixes to search for
    • caseSensitivity

      private final IOCase caseSensitivity
      Whether the comparison is case sensitive.
  • Constructor Details

    • SuffixFileFilter

      public SuffixFileFilter(String suffix)
      Constructs a new Suffix file filter for a single extension.
      Parameters:
      suffix - the suffix to allow, must not be null
      Throws:
      IllegalArgumentException - if the suffix is null
    • SuffixFileFilter

      public SuffixFileFilter(String suffix, IOCase caseSensitivity)
      Constructs a new Suffix file filter for a single extension specifying case-sensitivity.
      Parameters:
      suffix - the suffix to allow, must not be null
      caseSensitivity - how to handle case sensitivity, null means case-sensitive
      Throws:
      IllegalArgumentException - if the suffix is null
      Since:
      1.4
    • SuffixFileFilter

      public SuffixFileFilter(String... suffixes)
      Constructs a new Suffix file filter for an array of suffixes.

      The array is not cloned, so could be changed after constructing the instance. This would be inadvisable however.

      Parameters:
      suffixes - the suffixes to allow, must not be null
      Throws:
      IllegalArgumentException - if the suffix array is null
    • SuffixFileFilter

      public SuffixFileFilter(String[] suffixes, IOCase caseSensitivity)
      Constructs a new Suffix file filter for an array of suffixes specifying case-sensitivity.
      Parameters:
      suffixes - the suffixes to allow, must not be null
      caseSensitivity - how to handle case sensitivity, null means case-sensitive
      Throws:
      IllegalArgumentException - if the suffix array is null
      Since:
      1.4
    • SuffixFileFilter

      public SuffixFileFilter(List<String> suffixes)
      Constructs a new Suffix file filter for a list of suffixes.
      Parameters:
      suffixes - the suffixes to allow, must not be null
      Throws:
      IllegalArgumentException - if the suffix list is null
      ClassCastException - if the list does not contain Strings
    • SuffixFileFilter

      public SuffixFileFilter(List<String> suffixes, IOCase caseSensitivity)
      Constructs a new Suffix file filter for a list of suffixes specifying case-sensitivity.
      Parameters:
      suffixes - the suffixes to allow, must not be null
      caseSensitivity - how to handle case sensitivity, null means case-sensitive
      Throws:
      IllegalArgumentException - if the suffix list is null
      ClassCastException - if the list does not contain Strings
      Since:
      1.4
  • Method Details

    • accept

      public boolean accept(File file)
      Checks to see if the file name ends with the suffix.
      Specified by:
      accept in interface FileFilter
      Specified by:
      accept in interface IOFileFilter
      Overrides:
      accept in class AbstractFileFilter
      Parameters:
      file - the File to check
      Returns:
      true if the file name ends with one of our suffixes
    • accept

      public boolean accept(File file, String name)
      Checks to see if the file name ends with the suffix.
      Specified by:
      accept in interface FilenameFilter
      Specified by:
      accept in interface IOFileFilter
      Overrides:
      accept in class AbstractFileFilter
      Parameters:
      file - the File directory
      name - the file name
      Returns:
      true if the file name ends with one of our suffixes
    • toString

      public String toString()
      Provide a String representation of this file filter.
      Overrides:
      toString in class AbstractFileFilter
      Returns:
      a String representation