Module java.base
Package java.nio.file

# Class SimpleFileVisitor<T>

java.lang.Object
java.nio.file.SimpleFileVisitor<T>

Type Parameters:
  `T` - The type of reference to the files

All Implemented Interfaces:
  `FileVisitor<T>`

public class SimpleFileVisitor<T> extends Object implements FileVisitor<T>
A simple visitor of files with default behavior to visit all files and to re-throw I/O errors.

Methods in this class may be overridden subject to their general contract.

Since:
  1.7

## Constructor Summary

Constructors
Modifier
Constructor
Description
`protected`
`SimpleFileVisitor()`
Initializes a new instance of this class.

## Method Summary

Modifier and Type
Method
Description
`FileVisitResult`
`postVisitDirectory(T dir, IOException exc)`
Invoked for a directory after entries in the directory, and all of their descendants, have been visited.
`FileVisitResult`
`preVisitDirectory(T dir, BasicFileAttributes attrs)`
Invoked for a directory before entries in the directory are visited.
`FileVisitResult`
`visitFile(T file, BasicFileAttributes attrs)`
Invoked for a file in a directory.
`FileVisitResult`
`visitFileFailed(T file, IOException exc)`
Invoked for a file that could not be visited.

### Methods declared in class java.lang.Object

`clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

## Constructor Details

### SimpleFileVisitor

protected SimpleFileVisitor()
Initializes a new instance of this class.

## Method Details

### preVisitDirectory

public FileVisitResult preVisitDirectory(T dir, BasicFileAttributes attrs) throws IOException
Invoked for a directory before entries in the directory are visited.

Unless overridden, this method returns `CONTINUE`.

Specified by:
  `preVisitDirectory` in interface `FileVisitor<T>`
Parameters:
  `dir` - a reference to the directory
  `attrs` - the directory's basic attributes
Returns:
  the visit result
Throws:
  `IOException` - if an I/O error occurs

### visitFile

public FileVisitResult visitFile(T file, BasicFileAttributes attrs) throws IOException
Invoked for a file in a directory.

Unless overridden, this method returns `CONTINUE`.

Specified by:
  `visitFile` in interface `FileVisitor<T>`
Parameters:
  `file` - a reference to the file
  `attrs` - the file's basic attributes
Returns:
  the visit result
Throws:
  `IOException` - if an I/O error occurs

### visitFileFailed

public FileVisitResult visitFileFailed(T file, IOException exc) throws IOException
Invoked for a file that could not be visited.

Unless overridden, this method re-throws the I/O exception that prevented the file from being visited.

Specified by:
  `visitFileFailed` in interface `FileVisitor<T>`
Parameters:
  `file` - a reference to the file
  `exc` - the I/O exception that prevented the file from being visited
Returns:
  the visit result
Throws:
  `IOException` - if an I/O error occurs

### postVisitDirectory

public FileVisitResult postVisitDirectory(T dir, IOException exc) throws IOException
Invoked for a directory after entries in the directory, and all of their descendants, have been visited.

Unless overridden, this method returns `CONTINUE` if the directory iteration completes without an I/O exception; otherwise this method re-throws the I/O exception that caused the iteration of the directory to terminate prematurely.

Specified by:
  `postVisitDirectory` in interface `FileVisitor<T>`
Parameters:
  `dir` - a reference to the directory
  `exc` - `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:
  the visit result
Throws:
  `IOException` - if an I/O error occurs