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 Detail

    - #### SimpleFileVisitor

          protected SimpleFileVisitor()

      Initializes a new instance of this class.

  - ### Method Detail

    - #### 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