Package org.apache.commons.io.file

# Class CopyDirectoryVisitor

java.lang.Object
java.nio.file.SimpleFileVisitor<Path>
org.apache.commons.io.file.SimplePathVisitor
org.apache.commons.io.file.CountingPathVisitor
org.apache.commons.io.file.CopyDirectoryVisitor

All Implemented Interfaces:
  `FileVisitor<Path>`, `PathVisitor`

public class CopyDirectoryVisitor extends CountingPathVisitor
Copies a source directory to a target directory.

Since:
  2.7

- ## Constructor Summary

  Constructors
  Constructor
  Description
  `CopyDirectoryVisitor(Counters.PathCounters pathCounter, Path sourceDirectory, Path targetDirectory, CopyOption... copyOptions)`
  Constructs a new visitor that deletes files except for the files and directories explicitly given.
  `CopyDirectoryVisitor(Counters.PathCounters pathCounter, PathFilter fileFilter, PathFilter dirFilter, Path sourceDirectory, Path targetDirectory, CopyOption... copyOptions)`
  Constructs a new visitor that deletes files except for the files and directories explicitly given.

- ## Method Summary

  Modifier and Type
  Method
  Description
  `protected void`
  `copy(Path sourceFile, Path targetFile)`
  Copies the sourceFile to the targetFile.
  `boolean`
  `equals(Object obj)`
  `CopyOption[]`
  `getCopyOptions()`
  Gets the copy options.
  `Path`
  `getSourceDirectory()`
  Gets the source directory.
  `Path`
  `getTargetDirectory()`
  Gets the target directory.
  `int`
  `hashCode()`
  `FileVisitResult`
  `preVisitDirectory(Path directory, BasicFileAttributes attributes)`
  `FileVisitResult`
  `visitFile(Path sourceFile, BasicFileAttributes attributes)`

  ### Methods inherited from class org.apache.commons.io.file.CountingPathVisitor

  `getPathCounters, postVisitDirectory, toString, updateDirCounter, updateFileCounters, withBigIntegerCounters, withLongCounters`

  ### Methods inherited from class org.apache.commons.io.file.SimplePathVisitor

  `visitFileFailed`

  ### Methods inherited from class java.lang.Object

  `clone, finalize, getClass, notify, notifyAll, wait, wait, wait`

- ## Constructor Details

  - ### CopyDirectoryVisitor

    public CopyDirectoryVisitor(Counters.PathCounters pathCounter, Path sourceDirectory, Path targetDirectory, CopyOption... copyOptions)
    Constructs a new visitor that deletes files except for the files and directories explicitly given.
    Parameters:
      `pathCounter` - How to count visits.
      `sourceDirectory` - The source directory
      `targetDirectory` - The target directory
      `copyOptions` - Specifies how the copying should be done.

  - ### CopyDirectoryVisitor

    public CopyDirectoryVisitor(Counters.PathCounters pathCounter, PathFilter fileFilter, PathFilter dirFilter, Path sourceDirectory, Path targetDirectory, CopyOption... copyOptions)
    Constructs a new visitor that deletes files except for the files and directories explicitly given.
    Parameters:
      `pathCounter` - How to count visits.
      `fileFilter` - How to filter file paths.
      `dirFilter` - How to filter directory paths.
      `sourceDirectory` - The source directory
      `targetDirectory` - The target directory
      `copyOptions` - Specifies how the copying should be done.
    Since:
      2.9.0

- ## Method Details

  - ### copy

    protected void copy(Path sourceFile, Path targetFile) throws IOException
    Copies the sourceFile to the targetFile.
    Parameters:
      `sourceFile` - the source file.
      `targetFile` - the target file.
    Throws:
      `IOException` - if an I/O error occurs.
    Since:
      2.8.0

  - ### equals

    public boolean equals(Object obj)
    Overrides:
      `equals` in class `CountingPathVisitor`

  - ### getCopyOptions

    public CopyOption[] getCopyOptions()
    Gets the copy options.
    Returns:
      the copy options.
    Since:
      2.8.0

  - ### getSourceDirectory

    public Path getSourceDirectory()
    Gets the source directory.
    Returns:
      the source directory.
    Since:
      2.8.0

  - ### getTargetDirectory

    public Path getTargetDirectory()
    Gets the target directory.
    Returns:
      the target directory.
    Since:
      2.8.0

  - ### hashCode

    public int hashCode()
    Overrides:
      `hashCode` in class `CountingPathVisitor`

  - ### preVisitDirectory

    public FileVisitResult preVisitDirectory(Path directory, BasicFileAttributes attributes) throws IOException
    Specified by:
      `preVisitDirectory` in interface `FileVisitor<Path>`
    Overrides:
      `preVisitDirectory` in class `CountingPathVisitor`
    Throws:
      `IOException`

  - ### visitFile

    public FileVisitResult visitFile(Path sourceFile, BasicFileAttributes attributes) throws IOException
    Specified by:
      `visitFile` in interface `FileVisitor<Path>`
    Overrides:
      `visitFile` in class `CountingPathVisitor`
    Throws:
      `IOException`