Package org.apache.commons.io.filefilter
Class RegexFileFilter
- java.lang.Object
-
- org.apache.commons.io.filefilter.AbstractFileFilter
-
- org.apache.commons.io.filefilter.RegexFileFilter
-
- All Implemented Interfaces:
java.io.FileFilter,java.io.FilenameFilter,java.io.Serializable,java.nio.file.FileVisitor<java.nio.file.Path>,PathFilter,PathVisitor,IOFileFilter
public class RegexFileFilter extends AbstractFileFilter implements java.io.Serializable
Filters files using supplied regular expression(s).See java.util.regex.Pattern for regex matching rules.
Using Classic IO
e.g.
File dir = FileUtils.current(); FileFilter fileFilter = new RegexFileFilter("^.*[tT]est(-\\d+)?\\.java$"); File[] files = dir.listFiles(fileFilter); for (String file : files) { System.out.println(file); }Using NIO
final Path dir = PathUtils.current(); final AccumulatorPathVisitor visitor = AccumulatorPathVisitor.withLongCounters(new RegexFileFilter("^.*[tT]est(-\\d+)?\\.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());Deprecating Serialization
Serialization is deprecated and will be removed in 3.0.
- Since:
- 1.4
- See Also:
- Serialized Form
-
-
Field Summary
-
Fields inherited from interface org.apache.commons.io.filefilter.IOFileFilter
EMPTY_STRING_ARRAY
-
-
Constructor Summary
Constructors Constructor Description RegexFileFilter(java.lang.String pattern)Constructs a new regular expression filter.RegexFileFilter(java.lang.String pattern, int flags)Constructs a new regular expression filter with the specified flags.RegexFileFilter(java.lang.String pattern, IOCase ioCase)Constructs a new regular expression filter with the specified flags case sensitivity.RegexFileFilter(java.util.regex.Pattern pattern)Constructs a new regular expression filter for a compiled regular expressionRegexFileFilter(java.util.regex.Pattern pattern, java.util.function.Function<java.nio.file.Path,java.lang.String> pathToString)Constructs a new regular expression filter for a compiled regular expression
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description booleanaccept(java.io.File dir, java.lang.String name)Checks to see if the file name matches one of the regular expressions.java.nio.file.FileVisitResultaccept(java.nio.file.Path path, java.nio.file.attribute.BasicFileAttributes attributes)Checks to see if the file name matches one of the regular expressions.java.lang.StringtoString()Returns a debug string.-
Methods inherited from class org.apache.commons.io.filefilter.AbstractFileFilter
accept, postVisitDirectory, preVisitDirectory, visitFile, visitFileFailed
-
Methods inherited from class java.lang.Object
equals, getClass, hashCode, notify, notifyAll, wait, wait, wait
-
Methods inherited from interface org.apache.commons.io.filefilter.IOFileFilter
and, negate, or
-
-
-
-
Constructor Detail
-
RegexFileFilter
public RegexFileFilter(java.util.regex.Pattern pattern)
Constructs a new regular expression filter for a compiled regular expression- Parameters:
pattern- regular expression to match.- Throws:
java.lang.NullPointerException- if the pattern is null.
-
RegexFileFilter
public RegexFileFilter(java.util.regex.Pattern pattern, java.util.function.Function<java.nio.file.Path,java.lang.String> pathToString)Constructs a new regular expression filter for a compiled regular expression- Parameters:
pattern- regular expression to match.pathToString- How convert a path to a string.- Throws:
java.lang.NullPointerException- if the pattern is null.- Since:
- 2.10.0
-
RegexFileFilter
public RegexFileFilter(java.lang.String pattern)
Constructs a new regular expression filter.- Parameters:
pattern- regular string expression to match- Throws:
java.lang.NullPointerException- if the pattern is null
-
RegexFileFilter
public RegexFileFilter(java.lang.String pattern, int flags)Constructs a new regular expression filter with the specified flags.- Parameters:
pattern- regular string expression to matchflags- pattern flags - e.g.Pattern.CASE_INSENSITIVE- Throws:
java.lang.IllegalArgumentException- if the pattern is null
-
RegexFileFilter
public RegexFileFilter(java.lang.String pattern, IOCase ioCase)Constructs a new regular expression filter with the specified flags case sensitivity.- Parameters:
pattern- regular string expression to matchioCase- how to handle case sensitivity, null means case-sensitive- Throws:
java.lang.IllegalArgumentException- if the pattern is null
-
-
Method Detail
-
accept
public boolean accept(java.io.File dir, java.lang.String name)Checks to see if the file name matches one of the regular expressions.- Specified by:
acceptin interfacejava.io.FilenameFilter- Specified by:
acceptin interfaceIOFileFilter- Overrides:
acceptin classAbstractFileFilter- Parameters:
dir- the file directory (ignored)name- the file name- Returns:
- true if the file name matches one of the regular expressions
-
accept
public java.nio.file.FileVisitResult accept(java.nio.file.Path path, java.nio.file.attribute.BasicFileAttributes attributes)Checks to see if the file name matches one of the regular expressions.- Specified by:
acceptin interfaceIOFileFilter- Specified by:
acceptin interfacePathFilter- Parameters:
path- the pathattributes- the path attributes- Returns:
- true if the file name matches one of the regular expressions
-
toString
public java.lang.String toString()
Returns a debug string.- Overrides:
toStringin classAbstractFileFilter- Returns:
- a String representation
- Since:
- 2.10.0
-
-