Package org.apache.commons.io.file
Class CountingPathVisitor
- java.lang.Object
-
- java.nio.file.SimpleFileVisitor<java.nio.file.Path>
-
- org.apache.commons.io.file.SimplePathVisitor
-
- org.apache.commons.io.file.CountingPathVisitor
-
- All Implemented Interfaces:
java.nio.file.FileVisitor<java.nio.file.Path>,PathVisitor
- Direct Known Subclasses:
AccumulatorPathVisitor,CleaningPathVisitor,CopyDirectoryVisitor,DeletingPathVisitor
public class CountingPathVisitor extends SimplePathVisitor
Counts files, directories, and sizes, as a visit proceeds.- Since:
- 2.7
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description static classCountingPathVisitor.AbstractBuilder<T,B extends CountingPathVisitor.AbstractBuilder<T,B>>Builds instances ofCountingPathVisitor.static classCountingPathVisitor.BuilderBuilds instances ofCountingPathVisitor.
-
Constructor Summary
Constructors Constructor Description CountingPathVisitor(Counters.PathCounters pathCounters)Constructs a new instance.CountingPathVisitor(Counters.PathCounters pathCounters, PathFilter fileFilter, PathFilter directoryFilter)Constructs a new instance.CountingPathVisitor(Counters.PathCounters pathCounters, PathFilter fileFilter, PathFilter directoryFilter, IOBiFunction<java.nio.file.Path,java.io.IOException,java.nio.file.FileVisitResult> visitFileFailed)Deprecated.
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description protected booleanaccept(java.nio.file.Path file, java.nio.file.attribute.BasicFileAttributes attributes)Tests whether the given file is accepted by the file filter.booleanequals(java.lang.Object obj)Counters.PathCountersgetPathCounters()Gets the visitation counts.inthashCode()java.nio.file.FileVisitResultpostVisitDirectory(java.nio.file.Path dir, java.io.IOException exc)java.nio.file.FileVisitResultpreVisitDirectory(java.nio.file.Path dir, java.nio.file.attribute.BasicFileAttributes attributes)java.lang.StringtoString()protected voidupdateDirCounter(java.nio.file.Path dir, java.io.IOException exc)Updates the counter for visiting the given directory.protected voidupdateFileCounters(java.nio.file.Path file, java.nio.file.attribute.BasicFileAttributes attributes)Updates the counters for visiting the given file.java.nio.file.FileVisitResultvisitFile(java.nio.file.Path file, java.nio.file.attribute.BasicFileAttributes attributes)static CountingPathVisitorwithBigIntegerCounters()Constructs a new instance configured with aBigIntegerCounters.PathCounters.static CountingPathVisitorwithLongCounters()Constructs a new instance configured with alongCounters.PathCounters.-
Methods inherited from class org.apache.commons.io.file.SimplePathVisitor
visitFileFailed
-
-
-
-
Constructor Detail
-
CountingPathVisitor
public CountingPathVisitor(Counters.PathCounters pathCounters)
Constructs a new instance.- Parameters:
pathCounters- How to count path visits.- See Also:
CountingPathVisitor.Builder
-
CountingPathVisitor
public CountingPathVisitor(Counters.PathCounters pathCounters, PathFilter fileFilter, PathFilter directoryFilter)
Constructs a new instance.- Parameters:
pathCounters- How to count path visits.fileFilter- Filters which files to count.directoryFilter- Filters which directories to count.- Since:
- 2.9.0
- See Also:
CountingPathVisitor.Builder
-
CountingPathVisitor
@Deprecated public CountingPathVisitor(Counters.PathCounters pathCounters, PathFilter fileFilter, PathFilter directoryFilter, IOBiFunction<java.nio.file.Path,java.io.IOException,java.nio.file.FileVisitResult> visitFileFailed)
Deprecated.Constructs a new instance.- Parameters:
pathCounters- How to count path visits.fileFilter- Filters which files to count.directoryFilter- Filters which directories to count.visitFileFailed- Called onSimplePathVisitor.visitFileFailed(Path, IOException).- Since:
- 2.12.0
-
-
Method Detail
-
withBigIntegerCounters
public static CountingPathVisitor withBigIntegerCounters()
Constructs a new instance configured with aBigIntegerCounters.PathCounters.- Returns:
- a new instance configured with a
BigIntegerCounters.PathCounters.
-
withLongCounters
public static CountingPathVisitor withLongCounters()
Constructs a new instance configured with alongCounters.PathCounters.- Returns:
- a new instance configured with a
longCounters.PathCounters.
-
accept
protected boolean accept(java.nio.file.Path file, java.nio.file.attribute.BasicFileAttributes attributes)
Tests whether the given file is accepted by the file filter.- Parameters:
file- the visited file.attributes- the visited file attributes.- Returns:
- true to copy the given file, false if not.
- Since:
- 2.20.0
-
equals
public boolean equals(java.lang.Object obj)
- Overrides:
equalsin classjava.lang.Object
-
getPathCounters
public Counters.PathCounters getPathCounters()
Gets the visitation counts.- Returns:
- the visitation counts.
-
hashCode
public int hashCode()
- Overrides:
hashCodein classjava.lang.Object
-
postVisitDirectory
public java.nio.file.FileVisitResult postVisitDirectory(java.nio.file.Path dir, java.io.IOException exc) throws java.io.IOException
- Specified by:
postVisitDirectoryin interfacejava.nio.file.FileVisitor<java.nio.file.Path>- Overrides:
postVisitDirectoryin classjava.nio.file.SimpleFileVisitor<java.nio.file.Path>- Throws:
java.io.IOException
-
preVisitDirectory
public java.nio.file.FileVisitResult preVisitDirectory(java.nio.file.Path dir, java.nio.file.attribute.BasicFileAttributes attributes) throws java.io.IOException
- Specified by:
preVisitDirectoryin interfacejava.nio.file.FileVisitor<java.nio.file.Path>- Overrides:
preVisitDirectoryin classjava.nio.file.SimpleFileVisitor<java.nio.file.Path>- Throws:
java.io.IOException
-
toString
public java.lang.String toString()
- Overrides:
toStringin classjava.lang.Object
-
updateDirCounter
protected void updateDirCounter(java.nio.file.Path dir, java.io.IOException exc)
Updates the counter for visiting the given directory.- Parameters:
dir- the visited directory.exc- Encountered exception.- Since:
- 2.9.0
-
updateFileCounters
protected void updateFileCounters(java.nio.file.Path file, java.nio.file.attribute.BasicFileAttributes attributes)
Updates the counters for visiting the given file.- Parameters:
file- the visited file.attributes- the visited file attributes.
-
visitFile
public java.nio.file.FileVisitResult visitFile(java.nio.file.Path file, java.nio.file.attribute.BasicFileAttributes attributes) throws java.io.IOException
- Specified by:
visitFilein interfacejava.nio.file.FileVisitor<java.nio.file.Path>- Overrides:
visitFilein classjava.nio.file.SimpleFileVisitor<java.nio.file.Path>- Throws:
java.io.IOException
-
-