This is an automated email from the ASF dual-hosted git repository.

ggregory pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/commons-io.git


The following commit(s) were added to refs/heads/master by this push:
     new 59c062e  Javadoc to specify IOException if an error occurs or setting 
the last-modified time didn't succeeded.
59c062e is described below

commit 59c062ed8d435277b8027fa7e77db9b34afbe2cc
Author: Gary Gregory <gardgreg...@gmail.com>
AuthorDate: Sun Dec 20 14:34:59 2020 -0500

    Javadoc to specify IOException if an error occurs or setting the
    last-modified time didn't succeeded.
---
 src/main/java/org/apache/commons/io/FileUtils.java | 560 ++++++++++-----------
 1 file changed, 259 insertions(+), 301 deletions(-)

diff --git a/src/main/java/org/apache/commons/io/FileUtils.java 
b/src/main/java/org/apache/commons/io/FileUtils.java
index 3c8fccb..d381159 100644
--- a/src/main/java/org/apache/commons/io/FileUtils.java
+++ b/src/main/java/org/apache/commons/io/FileUtils.java
@@ -449,28 +449,25 @@ public class FileUtils {
     /**
      * Copies a whole directory to a new location preserving the file dates.
      * <p>
-     * This method copies the specified directory and all its child
-     * directories and files to the specified destination.
+     * This method copies the specified directory and all its child 
directories and files to the specified destination.
      * The destination is the new location and name of the directory.
      * </p>
      * <p>
-     * The destination directory is created if it does not exist.
-     * If the destination directory did exist, then this method merges
-     * the source with the destination, with the source taking precedence.
+     * The destination directory is created if it does not exist. If the 
destination directory did exist, then this
+     * method merges the source with the destination, with the source taking 
precedence.
      * </p>
      * <p>
-     * <strong>Note:</strong> This method tries to preserve the files' last
-     * modified date/times using {@link File#setLastModified(long)}, however
-     * it is not guaranteed that those operations will succeed.
-     * If the modification operation fails, the methods throws IOException.
+     * <strong>Note:</strong> This method tries to preserve the files' last 
modified date/times using
+     * {@link File#setLastModified(long)}, however it is not guaranteed that 
those operations will succeed. If the
+     * modification operation fails, the methods throws IOException.
      * </p>
      *
-     * @param srcDir  an existing directory to copy, must not be {@code null}
-     * @param destDir the new directory, must not be {@code null}
+     * @param srcDir an existing directory to copy, must not be {@code null}.
+     * @param destDir the new directory, must not be {@code null}.
      *
-     * @throws NullPointerException if source or destination is {@code null}
-     * @throws IOException          if source or destination is invalid
-     * @throws IOException          if an IO error occurs during copying
+     * @throws NullPointerException if source or destination is {@code null}.
+     * @throws IOException if source or destination is invalid.
+     * @throws IOException if an error occurs or setting the last-modified 
time didn't succeeded.
      * @since 1.1
      */
     public static void copyDirectory(final File srcDir, final File destDir) 
throws IOException {
@@ -480,81 +477,74 @@ public class FileUtils {
     /**
      * Copies a whole directory to a new location.
      * <p>
-     * This method copies the contents of the specified source directory
-     * to within the specified destination directory.
+     * This method copies the contents of the specified source directory to 
within the specified destination directory.
      * </p>
      * <p>
-     * The destination directory is created if it does not exist.
-     * If the destination directory did exist, then this method merges
-     * the source with the destination, with the source taking precedence.
+     * The destination directory is created if it does not exist. If the 
destination directory did exist, then this
+     * method merges the source with the destination, with the source taking 
precedence.
      * </p>
      * <p>
-     * <strong>Note:</strong> Setting <code>preserveFileDate</code> to
-     * {@code true} tries to preserve the files' last modified
-     * date/times using {@link File#setLastModified(long)}, however it is
-     * not guaranteed that those operations will succeed.
-     * If the modification operation fails, the methods throws IOException.
+     * <strong>Note:</strong> Setting <code>preserveFileDate</code> to {@code 
true} tries to preserve the files' last
+     * modified date/times using {@link File#setLastModified(long)}, however 
it is not guaranteed that those operations
+     * will succeed. If the modification operation fails, the methods throws 
IOException.
      * </p>
      *
-     * @param srcDir           an existing directory to copy, must not be 
{@code null}
-     * @param destDir          the new directory, must not be {@code null}
-     * @param preserveFileDate true if the file date of the copy
-     *                         should be the same as the original
+     * @param srcDir an existing directory to copy, must not be {@code null}.
+     * @param destDir the new directory, must not be {@code null}.
+     * @param preserveFileDate true if the file date of the copy should be the 
same as the original.
      *
-     * @throws NullPointerException if source or destination is {@code null}
-     * @throws IOException          if source or destination is invalid
-     * @throws IOException          if an IO error occurs during copying
+     * @throws NullPointerException if source or destination is {@code null}.
+     * @throws IOException if source or destination is invalid.
+     * @throws IOException if an error occurs or setting the last-modified 
time didn't succeeded.
      * @since 1.1
      */
-    public static void copyDirectory(final File srcDir, final File destDir,
-                                     final boolean preserveFileDate) throws 
IOException {
+    public static void copyDirectory(final File srcDir, final File destDir, 
final boolean preserveFileDate)
+        throws IOException {
         copyDirectory(srcDir, destDir, null, preserveFileDate);
     }
 
     /**
      * Copies a filtered directory to a new location preserving the file dates.
      * <p>
-     * This method copies the contents of the specified source directory
-     * to within the specified destination directory.
+     * This method copies the contents of the specified source directory to 
within the specified destination directory.
      * </p>
      * <p>
-     * The destination directory is created if it does not exist.
-     * If the destination directory did exist, then this method merges
-     * the source with the destination, with the source taking precedence.
+     * The destination directory is created if it does not exist. If the 
destination directory did exist, then this
+     * method merges the source with the destination, with the source taking 
precedence.
      * </p>
      * <p>
-     * <strong>Note:</strong> This method tries to preserve the files' last
-     * modified date/times using {@link File#setLastModified(long)}, however
-     * it is not guaranteed that those operations will succeed.
-     * If the modification operation fails, the methods throws IOException.
+     * <strong>Note:</strong> This method tries to preserve the files' last 
modified date/times using
+     * {@link File#setLastModified(long)}, however it is not guaranteed that 
those operations will succeed. If the
+     * modification operation fails, the methods throws IOException.
      * </p>
      * <b>Example: Copy directories only</b>
+     * 
      * <pre>
-     *  // only copy the directory structure
-     *  FileUtils.copyDirectory(srcDir, destDir, 
DirectoryFileFilter.DIRECTORY);
-     *  </pre>
+     * // only copy the directory structure
+     * FileUtils.copyDirectory(srcDir, destDir, DirectoryFileFilter.DIRECTORY);
+     * </pre>
      *
      * <b>Example: Copy directories and txt files</b>
+     * 
      * <pre>
-     *  // Create a filter for ".txt" files
-     *  IOFileFilter txtSuffixFilter = 
FileFilterUtils.suffixFileFilter(".txt");
-     *  IOFileFilter txtFiles = 
FileFilterUtils.andFileFilter(FileFileFilter.FILE, txtSuffixFilter);
+     * // Create a filter for ".txt" files
+     * IOFileFilter txtSuffixFilter = FileFilterUtils.suffixFileFilter(".txt");
+     * IOFileFilter txtFiles = 
FileFilterUtils.andFileFilter(FileFileFilter.FILE, txtSuffixFilter);
      *
-     *  // Create a filter for either directories or ".txt" files
-     *  FileFilter filter = 
FileFilterUtils.orFileFilter(DirectoryFileFilter.DIRECTORY, txtFiles);
+     * // Create a filter for either directories or ".txt" files
+     * FileFilter filter = 
FileFilterUtils.orFileFilter(DirectoryFileFilter.DIRECTORY, txtFiles);
      *
-     *  // Copy using the filter
-     *  FileUtils.copyDirectory(srcDir, destDir, filter);
-     *  </pre>
+     * // Copy using the filter
+     * FileUtils.copyDirectory(srcDir, destDir, filter);
+     * </pre>
      *
-     * @param srcDir  an existing directory to copy, must not be {@code null}
-     * @param destDir the new directory, must not be {@code null}
-     * @param filter  the filter to apply, null means copy all directories and 
files
-     *                should be the same as the original
+     * @param srcDir an existing directory to copy, must not be {@code null}.
+     * @param destDir the new directory, must not be {@code null}.
+     * @param filter the filter to apply, null means copy all directories and 
files should be the same as the original.
      *
-     * @throws NullPointerException if source or destination is {@code null}
-     * @throws IOException          if source or destination is invalid
-     * @throws IOException          if an IO error occurs during copying
+     * @throws NullPointerException if source or destination is {@code null}.
+     * @throws IOException if source or destination is invalid.
+     * @throws IOException if an error occurs or setting the last-modified 
time didn't succeeded.
      * @since 1.4
      */
     public static void copyDirectory(final File srcDir, final File destDir,
@@ -565,49 +555,46 @@ public class FileUtils {
     /**
      * Copies a filtered directory to a new location.
      * <p>
-     * This method copies the contents of the specified source directory
-     * to within the specified destination directory.
+     * This method copies the contents of the specified source directory to 
within the specified destination directory.
      * </p>
      * <p>
-     * The destination directory is created if it does not exist.
-     * If the destination directory did exist, then this method merges
-     * the source with the destination, with the source taking precedence.
+     * The destination directory is created if it does not exist. If the 
destination directory did exist, then this
+     * method merges the source with the destination, with the source taking 
precedence.
      * </p>
      * <p>
-     * <strong>Note:</strong> Setting <code>preserveFileDate</code> to
-     * {@code true} tries to preserve the files' last modified
-     * date/times using {@link File#setLastModified(long)}, however it is
-     * not guaranteed that those operations will succeed.
-     * If the modification operation fails, the methods throws IOException.
+     * <strong>Note:</strong> Setting <code>preserveFileDate</code> to {@code 
true} tries to preserve the files' last
+     * modified date/times using {@link File#setLastModified(long)}, however 
it is not guaranteed that those operations
+     * will succeed. If the modification operation fails, the methods throws 
IOException.
      * </p>
      * <b>Example: Copy directories only</b>
+     * 
      * <pre>
-     *  // only copy the directory structure
-     *  FileUtils.copyDirectory(srcDir, destDir, 
DirectoryFileFilter.DIRECTORY, false);
-     *  </pre>
+     * // only copy the directory structure
+     * FileUtils.copyDirectory(srcDir, destDir, DirectoryFileFilter.DIRECTORY, 
false);
+     * </pre>
      *
      * <b>Example: Copy directories and txt files</b>
+     * 
      * <pre>
-     *  // Create a filter for ".txt" files
-     *  IOFileFilter txtSuffixFilter = 
FileFilterUtils.suffixFileFilter(".txt");
-     *  IOFileFilter txtFiles = 
FileFilterUtils.andFileFilter(FileFileFilter.FILE, txtSuffixFilter);
-     *
-     *  // Create a filter for either directories or ".txt" files
-     *  FileFilter filter = 
FileFilterUtils.orFileFilter(DirectoryFileFilter.DIRECTORY, txtFiles);
-     *
-     *  // Copy using the filter
-     *  FileUtils.copyDirectory(srcDir, destDir, filter, false);
-     *  </pre>
-     *
-     * @param srcDir           an existing directory to copy, must not be 
{@code null}
-     * @param destDir          the new directory, must not be {@code null}
-     * @param filter           the filter to apply, null means copy all 
directories and files
-     * @param preserveFileDate true if the file date of the copy
-     *                         should be the same as the original
-     *
-     * @throws NullPointerException if source or destination is {@code null}
-     * @throws IOException          if source or destination is invalid
-     * @throws IOException          if an IO error occurs during copying
+     * // Create a filter for ".txt" files
+     * IOFileFilter txtSuffixFilter = FileFilterUtils.suffixFileFilter(".txt");
+     * IOFileFilter txtFiles = 
FileFilterUtils.andFileFilter(FileFileFilter.FILE, txtSuffixFilter);
+     *
+     * // Create a filter for either directories or ".txt" files
+     * FileFilter filter = 
FileFilterUtils.orFileFilter(DirectoryFileFilter.DIRECTORY, txtFiles);
+     *
+     * // Copy using the filter
+     * FileUtils.copyDirectory(srcDir, destDir, filter, false);
+     * </pre>
+     *
+     * @param srcDir an existing directory to copy, must not be {@code null}.
+     * @param destDir the new directory, must not be {@code null}.
+     * @param filter the filter to apply, null means copy all directories and 
files.
+     * @param preserveFileDate true if the file date of the copy should be the 
same as the original.
+     *
+     * @throws NullPointerException if source or destination is {@code null}.
+     * @throws IOException if source or destination is invalid.
+     * @throws IOException if an error occurs or setting the last-modified 
time didn't succeeded.
      * @since 1.4
      */
     public static void copyDirectory(final File srcDir, final File destDir, 
final FileFilter filter,
@@ -618,50 +605,47 @@ public class FileUtils {
     /**
      * Copies a filtered directory to a new location.
      * <p>
-     * This method copies the contents of the specified source directory
-     * to within the specified destination directory.
+     * This method copies the contents of the specified source directory to 
within the specified destination directory.
      * </p>
      * <p>
-     * The destination directory is created if it does not exist.
-     * If the destination directory did exist, then this method merges
-     * the source with the destination, with the source taking precedence.
+     * The destination directory is created if it does not exist. If the 
destination directory did exist, then this
+     * method merges the source with the destination, with the source taking 
precedence.
      * </p>
      * <p>
-     * <strong>Note:</strong> Setting <code>preserveFileDate</code> to
-     * {@code true} tries to preserve the files' last modified
-     * date/times using {@link File#setLastModified(long)}, however it is
-     * not guaranteed that those operations will succeed.
-     * If the modification operation fails, the methods throws IOException.
+     * <strong>Note:</strong> Setting <code>preserveFileDate</code> to {@code 
true} tries to preserve the files' last
+     * modified date/times using {@link File#setLastModified(long)}, however 
it is not guaranteed that those operations
+     * will succeed. If the modification operation fails, the methods throws 
IOException.
      * </p>
      * <b>Example: Copy directories only</b>
+     * 
      * <pre>
-     *  // only copy the directory structure
-     *  FileUtils.copyDirectory(srcDir, destDir, 
DirectoryFileFilter.DIRECTORY, false);
-     *  </pre>
+     * // only copy the directory structure
+     * FileUtils.copyDirectory(srcDir, destDir, DirectoryFileFilter.DIRECTORY, 
false);
+     * </pre>
      *
      * <b>Example: Copy directories and txt files</b>
+     * 
      * <pre>
-     *  // Create a filter for ".txt" files
-     *  IOFileFilter txtSuffixFilter = 
FileFilterUtils.suffixFileFilter(".txt");
-     *  IOFileFilter txtFiles = 
FileFilterUtils.andFileFilter(FileFileFilter.FILE, txtSuffixFilter);
-     *
-     *  // Create a filter for either directories or ".txt" files
-     *  FileFilter filter = 
FileFilterUtils.orFileFilter(DirectoryFileFilter.DIRECTORY, txtFiles);
-     *
-     *  // Copy using the filter
-     *  FileUtils.copyDirectory(srcDir, destDir, filter, false);
-     *  </pre>
-     *
-     * @param srcDir           an existing directory to copy, must not be 
{@code null}
-     * @param destDir          the new directory, must not be {@code null}
-     * @param filter           the filter to apply, null means copy all 
directories and files
-     * @param preserveFileDate true if the file date of the copy
-     *                         should be the same as the original
-     * @param copyOptions      options specifying how the copy should be done, 
for example {@link StandardCopyOption}.
-     *
-     * @throws NullPointerException if source or destination is {@code null}
-     * @throws IOException          if source or destination is invalid
-     * @throws IOException          if an IO error occurs during copying
+     * // Create a filter for ".txt" files
+     * IOFileFilter txtSuffixFilter = FileFilterUtils.suffixFileFilter(".txt");
+     * IOFileFilter txtFiles = 
FileFilterUtils.andFileFilter(FileFileFilter.FILE, txtSuffixFilter);
+     *
+     * // Create a filter for either directories or ".txt" files
+     * FileFilter filter = 
FileFilterUtils.orFileFilter(DirectoryFileFilter.DIRECTORY, txtFiles);
+     *
+     * // Copy using the filter
+     * FileUtils.copyDirectory(srcDir, destDir, filter, false);
+     * </pre>
+     *
+     * @param srcDir an existing directory to copy, must not be {@code null}
+     * @param destDir the new directory, must not be {@code null}
+     * @param filter the filter to apply, null means copy all directories and 
files
+     * @param preserveFileDate true if the file date of the copy should be the 
same as the original
+     * @param copyOptions options specifying how the copy should be done, for 
example {@link StandardCopyOption}.
+     *
+     * @throws NullPointerException if source or destination is {@code null}.
+     * @throws IOException if source or destination is invalid.
+     * @throws IOException if an error occurs or setting the last-modified 
time didn't succeeded.
      * @since 2.8.0
      */
     public static void copyDirectory(final File srcDir, final File destDir, 
final FileFilter filter,
@@ -694,28 +678,26 @@ public class FileUtils {
     /**
      * Copies a directory to within another directory preserving the file 
dates.
      * <p>
-     * This method copies the source directory and all its contents to a
-     * directory of the same name in the specified destination directory.
+     * This method copies the source directory and all its contents to a 
directory of the same name in the specified
+     * destination directory.
      * </p>
      * <p>
-     * The destination directory is created if it does not exist.
-     * If the destination directory did exist, then this method merges
-     * the source with the destination, with the source taking precedence.
+     * The destination directory is created if it does not exist. If the 
destination directory did exist, then this
+     * method merges the source with the destination, with the source taking 
precedence.
      * </p>
      * <p>
-     * <strong>Note:</strong> This method tries to preserve the files' last
-     * modified date/times using {@link File#setLastModified(long)}, however
-     * it is not guaranteed that those operations will succeed.
-     * If the modification operation fails, the methods throws IOException.
+     * <strong>Note:</strong> This method tries to preserve the files' last 
modified date/times using
+     * {@link File#setLastModified(long)}, however it is not guaranteed that 
those operations will succeed. If the
+     * modification operation fails, the methods throws IOException.
      * </p>
      *
-     * @param sourceDir  an existing directory to copy, must not be {@code 
null}
-     * @param destinationDir the directory to place the copy in, must not be 
{@code null}
+     * @param sourceDir an existing directory to copy, must not be {@code 
null}.
+     * @param destinationDir the directory to place the copy in, must not be 
{@code null}.
      *
-     * @throws NullPointerException if source or destination is {@code null}
-     * @throws IllegalArgumentException if {@code srcDir} or {@code destDir} 
is not a directory
-     * @throws IOException          if source or destination is invalid
-     * @throws IOException          if an IO error occurs during copying
+     * @throws NullPointerException if source or destination is {@code null}.
+     * @throws IllegalArgumentException if {@code srcDir} or {@code destDir} 
is not a directory.
+     * @throws IOException if source or destination is invalid.
+     * @throws IOException if an error occurs or setting the last-modified 
time didn't succeeded.
      * @since 1.2
      */
     public static void copyDirectoryToDirectory(final File sourceDir, final 
File destinationDir) throws IOException {
@@ -733,26 +715,23 @@ public class FileUtils {
     /**
      * Copies a file to a new location preserving the file date.
      * <p>
-     * This method copies the contents of the specified source file to the
-     * specified destination file. The directory holding the destination file 
is
-     * created if it does not exist. If the destination file exists, then this
-     * method will overwrite it.
+     * This method copies the contents of the specified source file to the 
specified destination file. The directory
+     * holding the destination file is created if it does not exist. If the 
destination file exists, then this method
+     * will overwrite it.
      * </p>
      * <p>
-     * <strong>Note:</strong> This method tries to preserve the file's last
-     * modified date/times using {@link File#setLastModified(long)}, however
-     * it is not guaranteed that the operation will succeed.
-     * If the modification operation fails, the methods throws IOException.
+     * <strong>Note:</strong> This method tries to preserve the file's last 
modified date/times using
+     * {@link File#setLastModified(long)}, however it is not guaranteed that 
the operation will succeed. If the
+     * modification operation fails, the methods throws IOException.
      * </p>
      *
-     * @param srcFile  an existing file to copy, must not be {@code null}
-     * @param destFile the new file, must not be {@code null}
+     * @param srcFile an existing file to copy, must not be {@code null}.
+     * @param destFile the new file, must not be {@code null}.
      *
-     * @throws NullPointerException if source or destination is {@code null}
-     * @throws IOException          if source or destination is invalid
-     * @throws IOException          if an IO error occurs during copying
-     * @throws IOException          if the output file length is not the same 
as the input file length after the copy
-     * completes
+     * @throws NullPointerException if source or destination is {@code null}.
+     * @throws IOException if source or destination is invalid.
+     * @throws IOException if an error occurs or setting the last-modified 
time didn't succeeded.
+     * @throws IOException if the output file length is not the same as the 
input file length after the copy completes.
      * @see #copyFileToDirectory(File, File)
      * @see #copyFile(File, File, boolean)
      */
@@ -763,29 +742,24 @@ public class FileUtils {
     /**
      * Copies a file to a new location.
      * <p>
-     * This method copies the contents of the specified source file
-     * to the specified destination file.
-     * The directory holding the destination file is created if it does not 
exist.
-     * If the destination file exists, then this method will overwrite it.
+     * This method copies the contents of the specified source file to the 
specified destination file. The directory
+     * holding the destination file is created if it does not exist. If the 
destination file exists, then this method
+     * will overwrite it.
      * </p>
      * <p>
-     * <strong>Note:</strong> Setting <code>preserveFileDate</code> to
-     * {@code true} tries to preserve the file's last modified
-     * date/times using {@link File#setLastModified(long)}, however it is
-     * not guaranteed that the operation will succeed.
-     * If the modification operation fails, the methods throws IOException.
+     * <strong>Note:</strong> Setting <code>preserveFileDate</code> to {@code 
true} tries to preserve the file's last
+     * modified date/times using {@link File#setLastModified(long)}, however 
it is not guaranteed that the operation
+     * will succeed. If the modification operation fails, the methods throws 
IOException.
      * </p>
      *
-     * @param srcFile          an existing file to copy, must not be {@code 
null}
-     * @param destFile         the new file, must not be {@code null}
-     * @param preserveFileDate true if the file date of the copy
-     *                         should be the same as the original
+     * @param srcFile an existing file to copy, must not be {@code null}.
+     * @param destFile the new file, must not be {@code null}.
+     * @param preserveFileDate true if the file date of the copy should be the 
same as the original.
      *
-     * @throws NullPointerException if source or destination is {@code null}
-     * @throws IOException          if source or destination is invalid
-     * @throws IOException          if an IO error occurs during copying
-     * @throws IOException          if the output file length is not the same 
as the input file length after the copy
-     * completes
+     * @throws NullPointerException if source or destination is {@code null}.
+     * @throws IOException if source or destination is invalid.
+     * @throws IOException if an error occurs or setting the last-modified 
time didn't succeeded.
+     * @throws IOException if the output file length is not the same as the 
input file length after the copy completes
      * @see #copyFileToDirectory(File, File, boolean)
      */
     public static void copyFile(final File srcFile, final File destFile, final 
boolean preserveFileDate)
@@ -796,29 +770,24 @@ public class FileUtils {
     /**
      * Copies a file to a new location.
      * <p>
-     * This method copies the contents of the specified source file
-     * to the specified destination file.
-     * The directory holding the destination file is created if it does not 
exist.
-     * If the destination file exists, then this method will overwrite it.
+     * This method copies the contents of the specified source file to the 
specified destination file. The directory
+     * holding the destination file is created if it does not exist. If the 
destination file exists, then this method
+     * will overwrite it.
      * </p>
      * <p>
-     * <strong>Note:</strong> Setting <code>preserveFileDate</code> to
-     * {@code true} tries to preserve the file's last modified
-     * date/times using {@link File#setLastModified(long)}, however it is
-     * not guaranteed that the operation will succeed.
-     * If the modification operation fails, the methods throws IOException.
+     * <strong>Note:</strong> Setting <code>preserveFileDate</code> to {@code 
true} tries to preserve the file's last
+     * modified date/times using {@link File#setLastModified(long)}, however 
it is not guaranteed that the operation
+     * will succeed. If the modification operation fails, the methods throws 
IOException.
      * </p>
      *
-     * @param srcFile          an existing file to copy, must not be {@code 
null}
-     * @param destFile         the new file, must not be {@code null}
-     * @param preserveFileDate true if the file date of the copy
-     *                         should be the same as the original
-     * @param copyOptions      options specifying how the copy should be done, 
for example {@link StandardCopyOption}.
-     * @throws NullPointerException if source or destination is {@code null}
-     * @throws IOException          if source or destination is invalid
-     * @throws IOException          if an IO error occurs during copying
-     * @throws IOException          if the output file length is not the same 
as the input file length after the copy
-     * completes
+     * @param srcFile an existing file to copy, must not be {@code null}.
+     * @param destFile the new file, must not be {@code null}.
+     * @param preserveFileDate true if the file date of the copy should be the 
same as the original.
+     * @param copyOptions options specifying how the copy should be done, for 
example {@link StandardCopyOption}..
+     * @throws NullPointerException if source or destination is {@code null}.
+     * @throws IOException if source or destination is invalid.
+     * @throws IOException if the output file length is not the same as the 
input file length after the copy completes.
+     * @throws IOException if an error occurs or setting the last-modified 
time didn't succeeded.
      * @see #copyFileToDirectory(File, File, boolean)
      * @since 2.8.0
      */
@@ -865,24 +834,22 @@ public class FileUtils {
     /**
      * Copies a file to a directory preserving the file date.
      * <p>
-     * This method copies the contents of the specified source file
-     * to a file of the same name in the specified destination directory.
-     * The destination directory is created if it does not exist.
-     * If the destination file exists, then this method will overwrite it.
+     * This method copies the contents of the specified source file to a file 
of the same name in the specified
+     * destination directory. The destination directory is created if it does 
not exist. If the destination file exists,
+     * then this method will overwrite it.
      * </p>
      * <p>
-     * <strong>Note:</strong> This method tries to preserve the file's last
-     * modified date/times using {@link File#setLastModified(long)}, however
-     * it is not guaranteed that the operation will succeed.
-     * If the modification operation fails, the methods throws IOException.
+     * <strong>Note:</strong> This method tries to preserve the file's last 
modified date/times using
+     * {@link File#setLastModified(long)}, however it is not guaranteed that 
the operation will succeed. If the
+     * modification operation fails, the methods throws IOException.
      * </p>
      *
-     * @param srcFile an existing file to copy, must not be {@code null}
-     * @param destDir the directory to place the copy in, must not be {@code 
null}
+     * @param srcFile an existing file to copy, must not be {@code null}.
+     * @param destDir the directory to place the copy in, must not be {@code 
null}.
      *
-     * @throws NullPointerException if source or destination is null
-     * @throws IOException          if source or destination is invalid
-     * @throws IOException          if an IO error occurs during copying
+     * @throws NullPointerException if source or destination is null.
+     * @throws IOException if source or destination is invalid.
+     * @throws IOException if an error occurs or setting the last-modified 
time didn't succeeded.
      * @see #copyFile(File, File, boolean)
      */
     public static void copyFileToDirectory(final File srcFile, final File 
destDir) throws IOException {
@@ -892,29 +859,24 @@ public class FileUtils {
     /**
      * Copies a file to a directory optionally preserving the file date.
      * <p>
-     * This method copies the contents of the specified source file
-     * to a file of the same name in the specified destination directory.
-     * The destination directory is created if it does not exist.
-     * If the destination file exists, then this method will overwrite it.
+     * This method copies the contents of the specified source file to a file 
of the same name in the specified
+     * destination directory. The destination directory is created if it does 
not exist. If the destination file exists,
+     * then this method will overwrite it.
      * </p>
      * <p>
-     * <strong>Note:</strong> Setting <code>preserveFileDate</code> to
-     * {@code true} tries to preserve the file's last modified
-     * date/times using {@link File#setLastModified(long)}, however it is
-     * not guaranteed that the operation will succeed.
-     * If the modification operation fails, the methods throws IOException.
+     * <strong>Note:</strong> Setting <code>preserveFileDate</code> to {@code 
true} tries to preserve the file's last
+     * modified date/times using {@link File#setLastModified(long)}, however 
it is not guaranteed that the operation
+     * will succeed. If the modification operation fails, the methods throws 
IOException.
      * </p>
      *
-     * @param sourceFile          an existing file to copy, must not be {@code 
null}
-     * @param destinationDir          the directory to place the copy in, must 
not be {@code null}
-     * @param preserveFileDate true if the file date of the copy
-     *                         should be the same as the original
+     * @param sourceFile an existing file to copy, must not be {@code null}.
+     * @param destinationDir the directory to place the copy in, must not be 
{@code null}.
+     * @param preserveFileDate true if the file date of the copy should be the 
same as the original.
      *
-     * @throws NullPointerException if source or destination is {@code null}
-     * @throws IOException          if source or destination is invalid
-     * @throws IOException          if an IO error occurs during copying
-     * @throws IOException          if the output file length is not the same 
as the input file length after the copy
-     * completes
+     * @throws NullPointerException if source or destination is {@code null}.
+     * @throws IOException if source or destination is invalid.
+     * @throws IOException if an error occurs or setting the last-modified 
time didn't succeeded.
+     * @throws IOException if the output file length is not the same as the 
input file length after the copy completes.
      * @see #copyFile(File, File, boolean)
      * @since 1.3
      */
@@ -954,27 +916,25 @@ public class FileUtils {
     /**
      * Copies a file or directory to within another directory preserving the 
file dates.
      * <p>
-     * This method copies the source file or directory, along all its 
contents, to a
-     * directory of the same name in the specified destination directory.
+     * This method copies the source file or directory, along all its 
contents, to a directory of the same name in the
+     * specified destination directory.
      * </p>
      * <p>
-     * The destination directory is created if it does not exist.
-     * If the destination directory did exist, then this method merges
-     * the source with the destination, with the source taking precedence.
+     * The destination directory is created if it does not exist. If the 
destination directory did exist, then this
+     * method merges the source with the destination, with the source taking 
precedence.
      * </p>
      * <p>
-     * <strong>Note:</strong> This method tries to preserve the files' last
-     * modified date/times using {@link File#setLastModified(long)}, however
-     * it is not guaranteed that those operations will succeed.
-     * If the modification operation fails, the methods throws IOException.
+     * <strong>Note:</strong> This method tries to preserve the files' last 
modified date/times using
+     * {@link File#setLastModified(long)}, however it is not guaranteed that 
those operations will succeed. If the
+     * modification operation fails, the methods throws IOException.
      * </p>
      *
-     * @param sourceFile      an existing file or directory to copy, must not 
be {@code null}
-     * @param destinationDir  the directory to place the copy in, must not be 
{@code null}
+     * @param sourceFile an existing file or directory to copy, must not be 
{@code null}.
+     * @param destinationDir the directory to place the copy in, must not be 
{@code null}.
      *
-     * @throws NullPointerException if source or destination is {@code null}
-     * @throws IOException if source or destination is invalid
-     * @throws IOException if an IO error occurs during copying
+     * @throws NullPointerException if source or destination is {@code null}.
+     * @throws IOException if source or destination is invalid.
+     * @throws IOException if an error occurs or setting the last-modified 
time didn't succeeded.
      * @see #copyDirectoryToDirectory(File, File)
      * @see #copyFileToDirectory(File, File)
      * @since 2.6
@@ -1005,12 +965,12 @@ public class FileUtils {
      * If the modification operation fails, the methods throws IOException.
      * </p>
      *
-     * @param sourceIterable     a existing files to copy, must not be {@code 
null}
-     * @param destinationDir  the directory to place the copy in, must not be 
{@code null}
+     * @param sourceIterable     a existing files to copy, must not be {@code 
null}.
+     * @param destinationDir  the directory to place the copy in, must not be 
{@code null}.
      *
-     * @throws NullPointerException if source or destination is null
-     * @throws IOException if source or destination is invalid
-     * @throws IOException if an IO error occurs during copying
+     * @throws NullPointerException if source or destination is null.
+     * @throws IOException if source or destination is invalid.
+     * @throws IOException if an error occurs or setting the last-modified 
time didn't succeeded.
      * @see #copyFileToDirectory(File, File)
      * @since 2.6
      */
@@ -1265,13 +1225,13 @@ public class FileUtils {
     /**
      * Internal copy directory method.
      *
-     * @param srcDir           the validated source directory, must not be 
{@code null}
-     * @param destDir          the validated destination directory, must not 
be {@code null}
-     * @param filter           the filter to apply, null means copy all 
directories and files
-     * @param preserveFileDate whether to preserve the file date
-     * @param exclusionList    List of files and directories to exclude from 
the copy, may be null
-     * @param copyOptions      options specifying how the copy should be done, 
for example {@link StandardCopyOption}.
-     * @throws IOException if an error occurs
+     * @param srcDir the validated source directory, must not be {@code null}.
+     * @param destDir the validated destination directory, must not be {@code 
null}.
+     * @param filter the filter to apply, null means copy all directories and 
files.
+     * @param preserveFileDate whether to preserve the file date.
+     * @param exclusionList List of files and directories to exclude from the 
copy, may be null.
+     * @param copyOptions options specifying how the copy should be done, for 
example {@link StandardCopyOption}.
+     * @throws IOException if an error occurs or setting the last-modified 
time didn't succeeded.
      */
     private static void doCopyDirectory(final File srcDir, final File destDir, 
final FileFilter filter,
         final boolean preserveFileDate, final List<String> exclusionList, 
final CopyOption... copyOptions)
@@ -1311,22 +1271,19 @@ public class FileUtils {
     }
 
     /**
-     * Internal copy file method.
-     * This uses the original file length, and throws an IOException
-     * if the output file length is different from the current input file 
length.
-     * So it may fail if the file changes size.
-     * It may also fail with "IllegalArgumentException: Negative size" if the 
input file is truncated part way
-     * through copying the data and the new file size is less than the current 
position.
+     * Internal copy file method. This uses the original file length, and 
throws an IOException if the output file
+     * length is different from the current input file length. So it may fail 
if the file changes size. It may also fail
+     * with "IllegalArgumentException: Negative size" if the input file is 
truncated part way through copying the data
+     * and the new file size is less than the current position.
      *
-     * @param srcFile          the validated source file, must not be {@code 
null}
-     * @param destFile         the validated destination file, must not be 
{@code null}
+     * @param srcFile the validated source file, must not be {@code null}
+     * @param destFile the validated destination file, must not be {@code null}
      * @param preserveFileDate whether to preserve the file date
-     * @param copyOptions      options specifying how the copy should be done, 
for example {@link StandardCopyOption}.
-     * @throws IOException              if an error occurs
-     * @throws IOException              if the output file length is not the 
same as the input file length after the
-     * copy completes
+     * @param copyOptions options specifying how the copy should be done, for 
example {@link StandardCopyOption}.
+     * @throws IOException if an error occurs or setting the last-modified 
time didn't succeeded.
+     * @throws IOException if the output file length is not the same as the 
input file length after the copy completes
      * @throws IllegalArgumentException "Negative size" if the file is 
truncated so that the size is less than the
-     * position
+     *         position
      */
     private static void doCopyFile(final File srcFile, final File destFile, 
final boolean preserveFileDate, final CopyOption... copyOptions)
         throws IOException {
@@ -2124,12 +2081,12 @@ public class FileUtils {
      * When the destination directory is on another file system, do a "copy 
and delete".
      * </p>
      *
-     * @param srcDir  the directory to be moved
-     * @param destDir the destination directory
-     * @throws NullPointerException if source or destination is {@code null}
-     * @throws FileExistsException  if the destination directory exists
-     * @throws IOException          if source or destination is invalid
-     * @throws IOException          if an IO error occurs moving the file
+     * @param srcDir the directory to be moved.
+     * @param destDir the destination directory.
+     * @throws NullPointerException if source or destination is {@code null}.
+     * @throws FileExistsException if the destination directory exists.
+     * @throws IOException if source or destination is invalid.
+     * @throws IOException if an error occurs or setting the last-modified 
time didn't succeeded.
      * @since 1.4
      */
     public static void moveDirectory(final File srcDir, final File destDir) 
throws IOException {
@@ -2157,14 +2114,14 @@ public class FileUtils {
     /**
      * Moves a directory to another directory.
      *
-     * @param src           the file to be moved
-     * @param destDir       the destination file
-     * @param createDestDir If {@code true} create the destination directory,
-     *                      otherwise if {@code false} throw an IOException
-     * @throws NullPointerException if source or destination is {@code null}
-     * @throws FileExistsException  if the directory exists in the destination 
directory
-     * @throws IOException          if source or destination is invalid
-     * @throws IOException          if an IO error occurs moving the file
+     * @param src the file to be moved.
+     * @param destDir the destination file.
+     * @param createDestDir If {@code true} create the destination directory, 
otherwise if {@code false} throw an
+     *        IOException.
+     * @throws NullPointerException if source or destination is {@code null}.
+     * @throws FileExistsException if the directory exists in the destination 
directory.
+     * @throws IOException if source or destination is invalid.
+     * @throws IOException if an error occurs or setting the last-modified 
time didn't succeeded.
      * @since 1.4
      */
     public static void moveDirectoryToDirectory(final File src, final File 
destDir, final boolean createDestDir)
@@ -2184,18 +2141,19 @@ public class FileUtils {
         }
         moveDirectory(src, new File(destDir, src.getName()));
     }
+
     /**
      * Moves a file.
      * <p>
      * When the destination file is on another file system, do a "copy and 
delete".
      * </p>
      *
-     * @param srcFile  the file to be moved
-     * @param destFile the destination file
-     * @throws NullPointerException if source or destination is {@code null}
-     * @throws FileExistsException  if the destination file exists
-     * @throws IOException          if source or destination is invalid
-     * @throws IOException          if an IO error occurs moving the file
+     * @param srcFile the file to be moved.
+     * @param destFile the destination file.
+     * @throws NullPointerException if source or destination is {@code null}.
+     * @throws FileExistsException if the destination file exists.
+     * @throws IOException if source or destination is invalid.
+     * @throws IOException if an error occurs or setting the last-modified 
time didn't succeeded.
      * @since 1.4
      */
     public static void moveFile(final File srcFile, final File destFile) 
throws IOException {
@@ -2223,14 +2181,14 @@ public class FileUtils {
     /**
      * Moves a file to a directory.
      *
-     * @param srcFile       the file to be moved
-     * @param destDir       the destination file
-     * @param createDestDir If {@code true} create the destination directory,
-     *                      otherwise if {@code false} throw an IOException
-     * @throws NullPointerException if source or destination is {@code null}
-     * @throws FileExistsException  if the destination file exists
-     * @throws IOException          if source or destination is invalid
-     * @throws IOException          if an IO error occurs moving the file
+     * @param srcFile the file to be moved.
+     * @param destDir the destination file.
+     * @param createDestDir If {@code true} create the destination directory, 
otherwise if {@code false} throw an
+     *        IOException.
+     * @throws NullPointerException if source or destination is {@code null}.
+     * @throws FileExistsException if the destination file exists.
+     * @throws IOException if source or destination is invalid.
+     * @throws IOException if an error occurs or setting the last-modified 
time didn't succeeded.
      * @since 1.4
      */
     public static void moveFileToDirectory(final File srcFile, final File 
destDir, final boolean createDestDir)
@@ -2257,14 +2215,14 @@ public class FileUtils {
      * When the destination is on another file system, do a "copy and delete".
      * </p>
      *
-     * @param src           the file or directory to be moved
-     * @param destDir       the destination directory
-     * @param createDestDir If {@code true} create the destination directory,
-     *                      otherwise if {@code false} throw an IOException
-     * @throws NullPointerException if source or destination is {@code null}
-     * @throws FileExistsException  if the directory or file exists in the 
destination directory
-     * @throws IOException          if source or destination is invalid
-     * @throws IOException          if an IO error occurs moving the file
+     * @param src the file or directory to be moved.
+     * @param destDir the destination directory.
+     * @param createDestDir If {@code true} create the destination directory, 
otherwise if {@code false} throw an
+     *        IOException.
+     * @throws NullPointerException if source or destination is {@code null}.
+     * @throws FileExistsException if the directory or file exists in the 
destination directory.
+     * @throws IOException if source or destination is invalid.
+     * @throws IOException if an error occurs or setting the last-modified 
time didn't succeeded.
      * @since 1.4
      */
     public static void moveToDirectory(final File src, final File destDir, 
final boolean createDestDir)
@@ -2575,7 +2533,7 @@ public class FileUtils {
      *
      * @param sourceFile The source file to query.
      * @param targetFile The target file to set.
-     * @throws IOException if an error occurs
+     * @throws IOException if an error occurs or setting the last-modified 
time didn't succeeded.
      */
     private static void setLastModified(final File sourceFile, final File 
targetFile) throws IOException {
         if (!targetFile.setLastModified(sourceFile.lastModified())) {

Reply via email to