SimpleFileVisitor (Java Platform SE 8 )
Keywords: java.nio.file.SimpleFileVisitor class
Date: 2026-06-25

compact1, compact2, compact3
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 and Description
    --- | ---
    `protected` | `SimpleFileVisitor()` Initializes a new instance of this class.

  - ### Method Summary

    All Methods Instance Methods Concrete Methods
    Modifier and Type | Method and 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 inherited from 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

Submit a bug or feature
For further API reference and developer documentation, see Java SE Documentation. That documentation contains more detailed, developer-targeted descriptions, with conceptual overviews, definitions of terms, workarounds, and working code examples.
Copyright © 1993, 2026, Oracle and/or its affiliates. All rights reserved. Use is subject to license terms. Also see the documentation redistribution policy.