org.apache.commons.io.filefilter
Class WildcardFilter
- java.lang.Object
-
- org.apache.commons.io.filefilter.AbstractFileFilter
-
- org.apache.commons.io.filefilter.WildcardFilter
-
- All Implemented Interfaces:
- FileFilter, FilenameFilter, Serializable, FileVisitor< Path>, PathFilter, PathVisitor, IOFileFilter
Deprecated.Use WildcardFileFilter. Deprecated as this class performs directory filtering which it shouldn't do, but that can't be removed due to compatibility.@Deprecated public class WildcardFilter extends AbstractFileFilter implements Serializable
Filters files using the supplied wildcards.This filter selects files, but not directories, based on one or more wildcards and using case-sensitive comparison.
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. The extension check is case-sensitive. See
FilenameUtils.wildcardMatch(String, String)
for more information.For example:
Using Classic IO
File dir = new File("."); FileFilter fileFilter = new WildcardFilter("*test*.java~*~"); File[] files = dir.listFiles(fileFilter); for (String file : files) { System.out.println(file); }
Using NIO
final Path dir = Paths.get(""); final AccumulatorPathVisitor visitor = AccumulatorPathVisitor.withLongCounters(new WildcardFilter("*test*.java~*~")); // // Walk one dir Files.walkFileTree(dir, Collections.emptySet(), 1, visitor); System.out.println(visitor.getPathCounters()); System.out.println(visitor.getFileList()); // visitor.getPathCounters().reset(); // // Walk dir tree Files.walkFileTree(dir, visitor); System.out.println(visitor.getPathCounters()); System.out.println(visitor.getDirList()); System.out.println(visitor.getFileList());
- Since:
- 1.1
- See Also:
- Serialized Form
-
Field Summary
Fields inherited from interface org.apache.commons.io.filefilter.IOFileFilter
EMPTY_STRING_ARRAY
Constructor Summary
Constructors Constructor and Description WildcardFilter(List<String> wildcards)
Deprecated.Construct a new case-sensitive wildcard filter for a list of wildcards.WildcardFilter(String... wildcards)
Deprecated.Construct a new case-sensitive wildcard filter for an array of wildcards.WildcardFilter(String wildcard)
Deprecated.Construct a new case-sensitive wildcard filter for a single wildcard.
Method Summary
All Methods Instance Methods Concrete Methods Deprecated Methods Modifier and Type Method and Description boolean
accept(File file)
Deprecated.Checks to see if the file name matches one of the wildcards.boolean
accept(File dir, String name)
Deprecated.Checks to see if the file name matches one of the wildcards.FileVisitResult
accept(Path file, BasicFileAttributes attributes)
Deprecated.Checks to see if the file name matches one of the wildcards.Methods inherited from class org.apache.commons.io.filefilter.AbstractFileFilter
handle, postVisitDirectory, preVisitDirectory, toString, visitFile, visitFileFailed
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
Methods inherited from interface org.apache.commons.io.filefilter.IOFileFilter
and, negate, or
-
Constructor Detail
WildcardFilter
public WildcardFilter(List<String> wildcards)
Deprecated.Construct a new case-sensitive wildcard filter for a list of wildcards.- Parameters:
-
wildcards
- the list of wildcards to match - Throws:
-
IllegalArgumentException
- if the pattern list is null -
ClassCastException
- if the list does not contain Strings
WildcardFilter
public WildcardFilter(String wildcard)
Deprecated.Construct a new case-sensitive wildcard filter for a single wildcard.- Parameters:
-
wildcard
- the wildcard to match - Throws:
-
IllegalArgumentException
- if the pattern is null
WildcardFilter
public WildcardFilter(String... wildcards)
Deprecated.Construct a new case-sensitive wildcard filter for an array of wildcards.- Parameters:
-
wildcards
- the array of wildcards to match - Throws:
-
IllegalArgumentException
- if the pattern array is null
Method Detail
accept
public boolean accept(File file)
Deprecated.Checks to see if the file name matches one of the wildcards.- Specified by:
-
accept
in interfaceFileFilter
- Specified by:
-
accept
in interfaceIOFileFilter
- Overrides:
-
accept
in classAbstractFileFilter
- Parameters:
-
file
- the file to check - Returns:
- true if the file name matches one of the wildcards
accept
public FileVisitResult accept(Path file, BasicFileAttributes attributes)
Deprecated.Checks to see if the file name matches one of the wildcards.- Specified by:
-
accept
in interfacePathFilter
- Specified by:
-
accept
in interfaceIOFileFilter
- Parameters:
-
file
- the file to check -
attributes
- the file's basic attributes (TODO may be null). - Returns:
- true if the file name matches one of the wildcards
- Since:
- 2.9.0
accept
public boolean accept(File dir, String name)
Deprecated.Checks to see if the file name matches one of the wildcards.- Specified by:
-
accept
in interfaceFilenameFilter
- Specified by:
-
accept
in interfaceIOFileFilter
- Overrides:
-
accept
in classAbstractFileFilter
- Parameters:
-
dir
- the file directory -
name
- the file name - Returns:
- true if the file name matches one of the wildcards
Copyright © 2002–2021 The Apache Software Foundation. All rights reserved.