SimpleFileVisitor (Java SE 15 & JDK 15)
Description: declaration: module: java.base, package: java.nio.file, class: SimpleFileVisitor
Keywords: java.nio.file.SimpleFileVisitor class

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