Class PrefixFileFilter

  • All Implemented Interfaces:
    java.io.FileFilter, java.io.FilenameFilter, java.io.Serializable, IOFileFilter

    public class PrefixFileFilter
    extends AbstractFileFilter
    implements java.io.Serializable
    Filters filenames for a certain prefix.

    For example, to print all files and directories in the current directory whose name starts with Test:

     File dir = new File(".");
     String[] files = dir.list( new PrefixFileFilter("Test") );
     for ( int i = 0; i < files.length; i++ ) {
         System.out.println(files[i]);
     }
     
    Since:
    1.0
    Version:
    $Id: PrefixFileFilter.java 1304052 2012-03-22 20:55:29Z ggregory $
    See Also:
    FileFilterUtils.prefixFileFilter(String), FileFilterUtils.prefixFileFilter(String, IOCase), Serialized Form
    • Field Summary

      Fields 
      Modifier and Type Field Description
      private IOCase caseSensitivity
      Whether the comparison is case sensitive.
      private java.lang.String[] prefixes
      The filename prefixes to search for
    • Constructor Summary

      Constructors 
      Constructor Description
      PrefixFileFilter​(java.lang.String prefix)
      Constructs a new Prefix file filter for a single prefix.
      PrefixFileFilter​(java.lang.String[] prefixes)
      Constructs a new Prefix file filter for any of an array of prefixes.
      PrefixFileFilter​(java.lang.String[] prefixes, IOCase caseSensitivity)
      Constructs a new Prefix file filter for any of an array of prefixes specifying case-sensitivity.
      PrefixFileFilter​(java.lang.String prefix, IOCase caseSensitivity)
      Constructs a new Prefix file filter for a single prefix specifying case-sensitivity.
      PrefixFileFilter​(java.util.List<java.lang.String> prefixes)
      Constructs a new Prefix file filter for a list of prefixes.
      PrefixFileFilter​(java.util.List<java.lang.String> prefixes, IOCase caseSensitivity)
      Constructs a new Prefix file filter for a list of prefixes specifying case-sensitivity.
    • Method Summary

      All Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      boolean accept​(java.io.File file)
      Checks to see if the filename starts with the prefix.
      boolean accept​(java.io.File file, java.lang.String name)
      Checks to see if the filename starts with the prefix.
      java.lang.String toString()
      Provide a String representaion of this file filter.
      • Methods inherited from class java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
    • Field Detail

      • prefixes

        private final java.lang.String[] prefixes
        The filename prefixes to search for
      • caseSensitivity

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

      • PrefixFileFilter

        public PrefixFileFilter​(java.lang.String prefix)
        Constructs a new Prefix file filter for a single prefix.
        Parameters:
        prefix - the prefix to allow, must not be null
        Throws:
        java.lang.IllegalArgumentException - if the prefix is null
      • PrefixFileFilter

        public PrefixFileFilter​(java.lang.String prefix,
                                IOCase caseSensitivity)
        Constructs a new Prefix file filter for a single prefix specifying case-sensitivity.
        Parameters:
        prefix - the prefix to allow, must not be null
        caseSensitivity - how to handle case sensitivity, null means case-sensitive
        Throws:
        java.lang.IllegalArgumentException - if the prefix is null
        Since:
        1.4
      • PrefixFileFilter

        public PrefixFileFilter​(java.lang.String[] prefixes)
        Constructs a new Prefix file filter for any of an array of prefixes.

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

        Parameters:
        prefixes - the prefixes to allow, must not be null
        Throws:
        java.lang.IllegalArgumentException - if the prefix array is null
      • PrefixFileFilter

        public PrefixFileFilter​(java.lang.String[] prefixes,
                                IOCase caseSensitivity)
        Constructs a new Prefix file filter for any of an array of prefixes specifying case-sensitivity.

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

        Parameters:
        prefixes - the prefixes to allow, must not be null
        caseSensitivity - how to handle case sensitivity, null means case-sensitive
        Throws:
        java.lang.IllegalArgumentException - if the prefix is null
        Since:
        1.4
      • PrefixFileFilter

        public PrefixFileFilter​(java.util.List<java.lang.String> prefixes)
        Constructs a new Prefix file filter for a list of prefixes.
        Parameters:
        prefixes - the prefixes to allow, must not be null
        Throws:
        java.lang.IllegalArgumentException - if the prefix list is null
        java.lang.ClassCastException - if the list does not contain Strings
      • PrefixFileFilter

        public PrefixFileFilter​(java.util.List<java.lang.String> prefixes,
                                IOCase caseSensitivity)
        Constructs a new Prefix file filter for a list of prefixes specifying case-sensitivity.
        Parameters:
        prefixes - the prefixes to allow, must not be null
        caseSensitivity - how to handle case sensitivity, null means case-sensitive
        Throws:
        java.lang.IllegalArgumentException - if the prefix list is null
        java.lang.ClassCastException - if the list does not contain Strings
        Since:
        1.4
    • Method Detail

      • accept

        public boolean accept​(java.io.File file)
        Checks to see if the filename starts with the prefix.
        Specified by:
        accept in interface java.io.FileFilter
        Specified by:
        accept in interface IOFileFilter
        Overrides:
        accept in class AbstractFileFilter
        Parameters:
        file - the File to check
        Returns:
        true if the filename starts with one of our prefixes
      • accept

        public boolean accept​(java.io.File file,
                              java.lang.String name)
        Checks to see if the filename starts with the prefix.
        Specified by:
        accept in interface java.io.FilenameFilter
        Specified by:
        accept in interface IOFileFilter
        Overrides:
        accept in class AbstractFileFilter
        Parameters:
        file - the File directory
        name - the filename
        Returns:
        true if the filename starts with one of our prefixes
      • toString

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