# Print output for @column tags ?>
public
interface
FileVisitor
java.nio.file.FileVisitor<T> |
A visitor of files. An implementation of this interface is provided to the
Files#walkFileTree
methods to visit each file in
a file tree.
Usage Examples: Suppose we want to delete a file tree. In that case, each directory should be deleted after the entries in the directory are deleted.
Path start = ... Files.walkFileTree(start, new SimpleFileVisitor<Path>() { @Override public FileVisitResult visitFile(Path file, BasicFileAttributes attrs) throws IOException { Files.delete(file); return FileVisitResult.CONTINUE; } @Override public FileVisitResult postVisitDirectory(Path dir, IOException e) throws IOException { if (e == null) { Files.delete(dir); return FileVisitResult.CONTINUE; } else { // directory iteration failed throw e; } } });
Furthermore, suppose we want to copy a file tree to a target location. In that case, symbolic links should be followed and the target directory should be created before the entries in the directory are copied.
final Path source = ... final Path target = ... Files.walkFileTree(source, EnumSet.of(FileVisitOption.FOLLOW_LINKS), Integer.MAX_VALUE, new SimpleFileVisitor<Path>() { @Override public FileVisitResult preVisitDirectory(Path dir, BasicFileAttributes attrs) throws IOException { Path targetdir = target.resolve(source.relativize(dir)); try { Files.copy(dir, targetdir); } catch (FileAlreadyExistsException e) { if (!Files.isDirectory(targetdir)) throw e; } return CONTINUE; } @Override public FileVisitResult visitFile(Path file, BasicFileAttributes attrs) throws IOException { Files.copy(file, target.resolve(source.relativize(file))); return CONTINUE; } });
Public methods | |
---|---|
abstract
FileVisitResult
|
postVisitDirectory(T dir, IOException exc)
Invoked for a directory after entries in the directory, and all of their descendants, have been visited. |
abstract
FileVisitResult
|
preVisitDirectory(T dir, BasicFileAttributes attrs)
Invoked for a directory before entries in the directory are visited. |
abstract
FileVisitResult
|
visitFile(T file, BasicFileAttributes attrs)
Invoked for a file in a directory. |
abstract
FileVisitResult
|
visitFileFailed(T file, IOException exc)
Invoked for a file that could not be visited. |
public abstract FileVisitResult postVisitDirectory (T dir, IOException exc)
Invoked for a directory after entries in the directory, and all of their
descendants, have been visited. This method is also invoked when iteration
of the directory completes prematurely (by a visitFile
method returning FileVisitResult#SKIP_SIBLINGS
,
or an I/O error when iterating over the directory).
Parameters | |
---|---|
dir |
T : a reference to the directory |
exc |
IOException : null if the iteration of the directory completes without
an error; otherwise the I/O exception that caused the iteration
of the directory to complete prematurely |
Returns | |
---|---|
FileVisitResult |
the visit result |
Throws | |
---|---|
IOException |
if an I/O error occurs |
public abstract FileVisitResult preVisitDirectory (T dir, BasicFileAttributes attrs)
Invoked for a directory before entries in the directory are visited.
If this method returns FileVisitResult#CONTINUE
,
then entries in the directory are visited. If this method returns FileVisitResult#SKIP_SUBTREE
or FileVisitResult#SKIP_SIBLINGS
then entries in the
directory (and any descendants) will not be visited.
Parameters | |
---|---|
dir |
T : a reference to the directory |
attrs |
BasicFileAttributes : the directory's basic attributes |
Returns | |
---|---|
FileVisitResult |
the visit result |
Throws | |
---|---|
IOException |
if an I/O error occurs |
public abstract FileVisitResult visitFile (T file, BasicFileAttributes attrs)
Invoked for a file in a directory.
Parameters | |
---|---|
file |
T : a reference to the file |
attrs |
BasicFileAttributes : the file's basic attributes |
Returns | |
---|---|
FileVisitResult |
the visit result |
Throws | |
---|---|
IOException |
if an I/O error occurs |
public abstract FileVisitResult visitFileFailed (T file, IOException exc)
Invoked for a file that could not be visited. This method is invoked if the file's attributes could not be read, the file is a directory that could not be opened, and other reasons.
Parameters | |
---|---|
file |
T : a reference to the file |
exc |
IOException : the I/O exception that prevented the file from being visited |
Returns | |
---|---|
FileVisitResult |
the visit result |
Throws | |
---|---|
IOException |
if an I/O error occurs |