org.apache.commons.io.filefilter
Class SuffixFileFilter
- java.lang.Object
-
- org.apache.commons.io.filefilter.AbstractFileFilter
-
- org.apache.commons.io.filefilter.SuffixFileFilter
-
- All Implemented Interfaces:
- FileFilter, FilenameFilter, Serializable, FileVisitor< Path>, PathFilter, PathVisitor, 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:Using Classic IO
File dir = new File("."); String[] files = dir.list(new SuffixFileFilter(".java")); for (String file : files) { System.out.println(file); }
Using NIO
final Path dir = Paths.get(""); final AccumulatorPathVisitor visitor = AccumulatorPathVisitor.withLongCounters(new SuffixFileFilter(".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());
-
Field Summary
Fields inherited from interface org.apache.commons.io.filefilter.IOFileFilter
EMPTY_STRING_ARRAY
Constructor Summary
Constructors Constructor and Description SuffixFileFilter(List<String> suffixes)
Constructs a new Suffix file filter for a list of suffixes.SuffixFileFilter(List<String> suffixes, IOCase caseSensitivity)
Constructs a new Suffix file filter for a list of suffixes specifying case-sensitivity.SuffixFileFilter(String... suffixes)
Constructs a new Suffix file filter for an array of suffixes.SuffixFileFilter(String suffix)
Constructs a new Suffix file filter for a single extension.SuffixFileFilter(String[] suffixes, IOCase caseSensitivity)
Constructs a new Suffix file filter for an array of suffixes specifying case-sensitivity.SuffixFileFilter(String suffix, IOCase caseSensitivity)
Constructs a new Suffix file filter for a single extension specifying case-sensitivity.
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method and Description boolean
accept(File file)
Checks to see if the file name ends with the suffix.boolean
accept(File file, String name)
Checks to see if the file name ends with the suffix.FileVisitResult
accept(Path file, BasicFileAttributes attributes)
Checks to see if the file name ends with the suffix.String
toString()
Provide a String representation of this file filter.Methods inherited from class org.apache.commons.io.filefilter.AbstractFileFilter
handle, postVisitDirectory, preVisitDirectory, 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
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
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... 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 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, 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
Method Detail
accept
public boolean accept(File file)
Checks to see if the file name ends with the suffix.- 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 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 interfaceFilenameFilter
- Specified by:
-
accept
in interfaceIOFileFilter
- Overrides:
-
accept
in classAbstractFileFilter
- Parameters:
-
file
- the File directory -
name
- the file name - Returns:
- true if the file name ends with one of our suffixes
accept
public FileVisitResult accept(Path file, BasicFileAttributes attributes)
Checks to see if the file name ends with the suffix.- 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 ends with one of our suffixes
- Since:
- 2.9.0
toString
public String toString()
Provide a String representation of this file filter.- Overrides:
-
toString
in classAbstractFileFilter
- Returns:
- a String representation
Copyright © 2002–2021 The Apache Software Foundation. All rights reserved.