Class WildcardFileFilter

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

    public class WildcardFileFilter
    extends java.lang.Object
    implements FileFilter, java.io.Serializable
    Filters files using the supplied wildcards.

    This filter selects files and directories based on one or more wildcards. Testing is case-sensitive by default, but this can be configured.

    The wildcard matcher uses the characters '?' and '*' to represent a single or multiple wildcard characters. This is the same as often found on Dos/Unix command lines.

    For example, to retrieve and print all Java files that have the expression test in the name in the current directory:

     FileSystemManager fsManager = VFS.getManager();
     FileObject dir = fsManager.toFileObject(new File("."));
     FileObject[] files;
     files = dir.findFiles(new FileFilterSelector(new WildcardFileFilter("*test*.java")));
     for (int i = 0; i < files.length; i++) {
         System.out.println(files[i]);
     }
     
    Since:
    2.4
    Author:
    This code was originally ported from Apache Commons IO File Filter
    See Also:
    "https://commons.apache.org/proper/commons-io/", Serialized Form
    • Constructor Summary

      Constructors 
      Constructor Description
      WildcardFileFilter​(java.lang.String... wildcards)
      Constructs a new case-sensitive wildcard filter for an array of wildcards.
      WildcardFileFilter​(java.util.List<java.lang.String> wildcards)
      Constructs a new case-sensitive wildcard filter for a list of wildcards.
      WildcardFileFilter​(IOCase caseSensitivity, java.lang.String... wildcards)
      Constructs a new wildcard filter for an array of wildcards specifying case-sensitivity.
      WildcardFileFilter​(IOCase caseSensitivity, java.util.List<java.lang.String> wildcards)
      Constructs a new wildcard filter for a list of wildcards specifying case-sensitivity.
    • Method Summary

      All Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      boolean accept​(FileSelectInfo fileSelectInfo)
      Checks to see if the file name matches one of the wildcards.
      java.lang.String toString()
      Provide a String representation of this file filter.
      • Methods inherited from class java.lang.Object

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

      • WildcardFileFilter

        public WildcardFileFilter​(IOCase caseSensitivity,
                                  java.util.List<java.lang.String> wildcards)
        Constructs a new wildcard filter for a list of wildcards specifying case-sensitivity.
        Parameters:
        caseSensitivity - how to handle case sensitivity, null means case-sensitive
        wildcards - the list of wildcards to match, not null
      • WildcardFileFilter

        public WildcardFileFilter​(IOCase caseSensitivity,
                                  java.lang.String... wildcards)
        Constructs a new wildcard filter for an array of wildcards specifying case-sensitivity.
        Parameters:
        caseSensitivity - how to handle case sensitivity, null means case-sensitive
        wildcards - the array of wildcards to match, not null
      • WildcardFileFilter

        public WildcardFileFilter​(java.util.List<java.lang.String> wildcards)
        Constructs a new case-sensitive wildcard filter for a list of wildcards.
        Parameters:
        wildcards - the list of wildcards to match, not null
      • WildcardFileFilter

        public WildcardFileFilter​(java.lang.String... wildcards)
        Constructs a new case-sensitive wildcard filter for an array of wildcards.

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

        Parameters:
        wildcards - the array of wildcards to match
    • Method Detail

      • accept

        public boolean accept​(FileSelectInfo fileSelectInfo)
        Checks to see if the file name matches one of the wildcards.
        Specified by:
        accept in interface FileFilter
        Parameters:
        fileSelectInfo - the file to check
        Returns:
        true if the file name matches one of the wildcards
      • toString

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