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:
FileFilter
,FilenameFilter
,Serializable
,FileVisitor<Path>
,PathMatcher
,PathFilter
,PathVisitor
,IOFileFilter
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 directory Files.walkFileTree(dir, Collections.emptySet(), 1, visitor); System.out.println(visitor.getPathCounters()); System.out.println(visitor.getFileList()); // visitor.getPathCounters().reset(); // // Walk directory 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:
-
Field Summary
Fields inherited from interface org.apache.commons.io.filefilter.IOFileFilter
EMPTY_STRING_ARRAY
-
Constructor Summary
ConstructorsConstructorDescriptionRegexFileFilter
(String pattern) Constructs a new regular expression filter.RegexFileFilter
(String pattern, int flags) Constructs a new regular expression filter with the specified flags.RegexFileFilter
(String pattern, IOCase ioCase) Constructs a new regular expression filter with the specified flags case sensitivity.RegexFileFilter
(Pattern pattern) Constructs a new regular expression filter for a compiled regular expressionRegexFileFilter
(Pattern pattern, Function<Path, String> pathToString) Constructs a new regular expression filter for a compiled regular expression -
Method Summary
Modifier and TypeMethodDescriptionboolean
Checks to see if the file name matches one of the regular expressions.accept
(Path path, BasicFileAttributes attributes) Checks to see if the file name matches one of the regular expressions.toString()
Returns a debug string.Methods inherited from class org.apache.commons.io.filefilter.AbstractFileFilter
accept, 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, matches, negate, or
-
Constructor Details
-
RegexFileFilter
Constructs a new regular expression filter for a compiled regular expression- Parameters:
pattern
- regular expression to match.- Throws:
NullPointerException
- if the pattern is null.
-
RegexFileFilter
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:
NullPointerException
- if the pattern is null.- Since:
- 2.10.0
-
RegexFileFilter
Constructs a new regular expression filter.- Parameters:
pattern
- regular string expression to match- Throws:
NullPointerException
- if the pattern is null
-
RegexFileFilter
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:
IllegalArgumentException
- if the pattern is null
-
RegexFileFilter
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:
IllegalArgumentException
- if the pattern is null
-
-
Method Details
-
accept
Checks to see if the file name matches one of the regular expressions.- Specified by:
accept
in interfaceFilenameFilter
- Specified by:
accept
in interfaceIOFileFilter
- Overrides:
accept
in classAbstractFileFilter
- Parameters:
dir
- the file directory (ignored)name
- the file name- Returns:
- true if the file name matches one of the regular expressions
-
accept
Checks to see if the file name matches one of the regular expressions.- Specified by:
accept
in interfaceIOFileFilter
- Specified by:
accept
in interfacePathFilter
- Parameters:
path
- the pathattributes
- the path's basic attributes (may be null).- Returns:
- true if the file name matches one of the regular expressions
-
toString
Returns a debug string.- Overrides:
toString
in classAbstractFileFilter
- Returns:
- a String representation
- Since:
- 2.10.0
-