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 154cb76 [IO-632] Add PathUtils for operations on NIO Path. 154cb76 is described below commit 154cb7648ffde863b2548eba10b330c51a103c6a Author: Gary Gregory <gardgreg...@gmail.com> AuthorDate: Sun Oct 13 18:10:54 2019 -0400 [IO-632] Add PathUtils for operations on NIO Path. Refactor to add PathUtils.copyDirectory(Path, Path, CopyOption...) --- .../commons/io/file/CleaningPathVisitor.java | 8 +- .../commons/io/file/CopyDirectoryVisitor.java | 75 +++++++++++++++ .../commons/io/file/CountingPathVisitor.java | 10 +- .../commons/io/file/DeletingPathVisitor.java | 3 +- .../java/org/apache/commons/io/file/PathUtils.java | 19 +++- .../commons/io/file/CleaningPathVisitorTest.java | 12 +-- .../commons/io/file/CopyDirectoryVisitorTest.java | 104 +++++++++++++++++++++ .../apache/commons/io/file/CounterAssertions.java | 20 ++-- .../org/apache/commons/io/file/CountersTest.java | 2 +- .../commons/io/file/DeletingPathVisitorTest.java | 12 +-- .../io/file/PathUtilsCleanDirectoryTest.java | 9 +- .../io/file/PathUtilsDeleteDirectoryTest.java | 9 +- 12 files changed, 233 insertions(+), 50 deletions(-) diff --git a/src/main/java/org/apache/commons/io/file/CleaningPathVisitor.java b/src/main/java/org/apache/commons/io/file/CleaningPathVisitor.java index 485773f..12c8406 100644 --- a/src/main/java/org/apache/commons/io/file/CleaningPathVisitor.java +++ b/src/main/java/org/apache/commons/io/file/CleaningPathVisitor.java @@ -77,17 +77,17 @@ public class CleaningPathVisitor extends CountingPathVisitor { } @Override - public FileVisitResult preVisitDirectory(final Path dir, final BasicFileAttributes attrs) throws IOException { - super.preVisitDirectory(dir, attrs); + public FileVisitResult preVisitDirectory(final Path dir, final BasicFileAttributes attributes) throws IOException { + super.preVisitDirectory(dir, attributes); return accept(dir) ? FileVisitResult.CONTINUE : FileVisitResult.SKIP_SUBTREE; } @Override - public FileVisitResult visitFile(final Path file, final BasicFileAttributes attrs) throws IOException { + public FileVisitResult visitFile(final Path file, final BasicFileAttributes attributes) throws IOException { if (accept(file) && Files.exists(file)) { Files.deleteIfExists(file); } - updateFileCounters(file, attrs); + updateFileCounters(file, attributes); return FileVisitResult.CONTINUE; } } \ No newline at end of file diff --git a/src/main/java/org/apache/commons/io/file/CopyDirectoryVisitor.java b/src/main/java/org/apache/commons/io/file/CopyDirectoryVisitor.java new file mode 100644 index 0000000..b5a39d5 --- /dev/null +++ b/src/main/java/org/apache/commons/io/file/CopyDirectoryVisitor.java @@ -0,0 +1,75 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. + * The ASF licenses this file to You under the Apache License, Version 2.0 + * (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package org.apache.commons.io.file; + +import java.io.IOException; +import java.nio.file.CopyOption; +import java.nio.file.FileVisitResult; +import java.nio.file.Files; +import java.nio.file.Path; +import java.nio.file.attribute.BasicFileAttributes; + +import org.apache.commons.io.file.Counters.PathCounters; + +/** + * Copies a source directory to a target directory. + * + * @since 2.7 + */ +public class CopyDirectoryVisitor extends CountingPathVisitor { + + private static final CopyOption[] EMPTY_COPY_OPTIONS = new CopyOption[0]; + + private final CopyOption[] copyOptions; + private final Path sourceDirectory; + private final Path targetDirectory; + + /** + * Constructs a new visitor that deletes files except for the files and directories explicitly given. + * + * @param pathCounter How to count visits. + * @param sourceDirectory The source directory + * @param targetDirectory The target directory + * @param copyOptions Specifies how the copying should be done. + */ + public CopyDirectoryVisitor(final PathCounters pathCounter, final Path sourceDirectory, final Path targetDirectory, + final CopyOption... copyOptions) { + super(pathCounter); + this.sourceDirectory = sourceDirectory; + this.targetDirectory = targetDirectory; + this.copyOptions = copyOptions == null ? EMPTY_COPY_OPTIONS : copyOptions.clone(); + } + + @Override + public FileVisitResult preVisitDirectory(final Path directory, final BasicFileAttributes attributes) + throws IOException { + final Path newTargetDir = targetDirectory.resolve(sourceDirectory.relativize(directory)); + if (Files.notExists(newTargetDir)) { + Files.createDirectory(newTargetDir); + } + return super.preVisitDirectory(directory, attributes); + } + + @Override + public FileVisitResult visitFile(final Path sourceFile, final BasicFileAttributes attributes) throws IOException { + final Path targetFile = targetDirectory.resolve(sourceDirectory.relativize(sourceFile)); + Files.copy(sourceFile, targetFile, copyOptions); + return super.visitFile(targetFile, attributes); + } + +} diff --git a/src/main/java/org/apache/commons/io/file/CountingPathVisitor.java b/src/main/java/org/apache/commons/io/file/CountingPathVisitor.java index a205dea..987863b 100644 --- a/src/main/java/org/apache/commons/io/file/CountingPathVisitor.java +++ b/src/main/java/org/apache/commons/io/file/CountingPathVisitor.java @@ -89,17 +89,17 @@ public class CountingPathVisitor extends SimplePathVisitor { * Updates the counters for visiting the given file. * * @param file the visited file. - * @param attrs the visited file attributes. + * @param attributes the visited file attributes. */ - protected void updateFileCounters(final Path file, final BasicFileAttributes attrs) { + protected void updateFileCounters(final Path file, final BasicFileAttributes attributes) { pathCounters.getFileCounter().increment(); - pathCounters.getByteCounter().add(attrs.size()); + pathCounters.getByteCounter().add(attributes.size()); } @Override - public FileVisitResult visitFile(final Path file, final BasicFileAttributes attrs) throws IOException { + public FileVisitResult visitFile(final Path file, final BasicFileAttributes attributes) throws IOException { if (Files.exists(file)) { - updateFileCounters(file, attrs); + updateFileCounters(file, attributes); } return FileVisitResult.CONTINUE; } diff --git a/src/main/java/org/apache/commons/io/file/DeletingPathVisitor.java b/src/main/java/org/apache/commons/io/file/DeletingPathVisitor.java index 609ac89..ba827eb 100644 --- a/src/main/java/org/apache/commons/io/file/DeletingPathVisitor.java +++ b/src/main/java/org/apache/commons/io/file/DeletingPathVisitor.java @@ -83,8 +83,7 @@ public class DeletingPathVisitor extends CountingPathVisitor { if (PathUtils.isEmptyDirectory(dir)) { Files.deleteIfExists(dir); } - super.postVisitDirectory(dir, exc); - return FileVisitResult.CONTINUE; + return super.postVisitDirectory(dir, exc); } @Override diff --git a/src/main/java/org/apache/commons/io/file/PathUtils.java b/src/main/java/org/apache/commons/io/file/PathUtils.java index 17b30da..7f83101 100644 --- a/src/main/java/org/apache/commons/io/file/PathUtils.java +++ b/src/main/java/org/apache/commons/io/file/PathUtils.java @@ -19,6 +19,7 @@ package org.apache.commons.io.file; import java.io.IOException; import java.net.URI; +import java.nio.file.CopyOption; import java.nio.file.DirectoryStream; import java.nio.file.FileVisitor; import java.nio.file.Files; @@ -39,7 +40,7 @@ public final class PathUtils { * Cleans a directory including sub-directories without deleting directories. * * @param directory directory to clean. - * @return The visitor used to clean the given directory. + * @return The visitation path counters. * @throws IOException if an I/O error is thrown by a visitor method. */ public static PathCounters cleanDirectory(final Path directory) throws IOException { @@ -47,6 +48,22 @@ public final class PathUtils { } /** + * Copies a source directory to a target directory. + * + * @param sourceDirectory The source directory + * @param targetDirectory The target directory + * @param copyOptions Specifies how the copying should be done. + * @return The visitation path counters. + * @throws IOException if an I/O error is thrown by a visitor method. + */ + public static PathCounters copyDirectory(final Path sourceDirectory, final Path targetDirectory, + final CopyOption... copyOptions) throws IOException { + return visitFileTree( + new CopyDirectoryVisitor(Counters.longPathCounters(), sourceDirectory, targetDirectory, copyOptions), + sourceDirectory).getPathCounters(); + } + + /** * Counts aspects of a directory including sub-directories. * * @param directory directory to delete. diff --git a/src/test/java/org/apache/commons/io/file/CleaningPathVisitorTest.java b/src/test/java/org/apache/commons/io/file/CleaningPathVisitorTest.java index 62802c8..81b7f55 100644 --- a/src/test/java/org/apache/commons/io/file/CleaningPathVisitorTest.java +++ b/src/test/java/org/apache/commons/io/file/CleaningPathVisitorTest.java @@ -84,8 +84,7 @@ public class CleaningPathVisitorTest extends TestArguments { @ParameterizedTest @MethodSource("cleaningPathVisitors") public void testCleanFolders1FileSize0(final CleaningPathVisitor visitor) throws IOException { - FileUtils.copyDirectory(Paths.get("src/test/resources/org/apache/commons/io/dirs-1-file-size-0").toFile(), - tempDir.toFile()); + PathUtils.copyDirectory(Paths.get("src/test/resources/org/apache/commons/io/dirs-1-file-size-0"), tempDir); assertCounts(1, 1, 0, PathUtils.visitFileTree(visitor, tempDir)); } @@ -95,8 +94,7 @@ public class CleaningPathVisitorTest extends TestArguments { @ParameterizedTest @MethodSource("cleaningPathVisitors") public void testCleanFolders1FileSize1(final CleaningPathVisitor visitor) throws IOException { - FileUtils.copyDirectory(Paths.get("src/test/resources/org/apache/commons/io/dirs-1-file-size-1").toFile(), - tempDir.toFile()); + PathUtils.copyDirectory(Paths.get("src/test/resources/org/apache/commons/io/dirs-1-file-size-1"), tempDir); assertCounts(1, 1, 1, PathUtils.visitFileTree(visitor, tempDir)); } @@ -106,8 +104,7 @@ public class CleaningPathVisitorTest extends TestArguments { @ParameterizedTest @MethodSource("pathCounters") public void testCleanFolders1FileSize1Skip(final PathCounters pathCounters) throws IOException { - FileUtils.copyDirectory(Paths.get("src/test/resources/org/apache/commons/io/dirs-1-file-size-1").toFile(), - tempDir.toFile()); + PathUtils.copyDirectory(Paths.get("src/test/resources/org/apache/commons/io/dirs-1-file-size-1"), tempDir); final String skipFileName = "file-size-1.bin"; final CountingPathVisitor visitor = new CleaningPathVisitor(pathCounters, skipFileName); assertCounts(1, 1, 1, PathUtils.visitFileTree(visitor, tempDir)); @@ -122,8 +119,7 @@ public class CleaningPathVisitorTest extends TestArguments { @ParameterizedTest @MethodSource("cleaningPathVisitors") public void testCleanFolders2FileSize2(final CleaningPathVisitor visitor) throws IOException { - FileUtils.copyDirectory(Paths.get("src/test/resources/org/apache/commons/io/dirs-2-file-size-2").toFile(), - tempDir.toFile()); + PathUtils.copyDirectory(Paths.get("src/test/resources/org/apache/commons/io/dirs-2-file-size-2"), tempDir); assertCounts(3, 2, 2, PathUtils.visitFileTree(visitor, tempDir)); } } diff --git a/src/test/java/org/apache/commons/io/file/CopyDirectoryVisitorTest.java b/src/test/java/org/apache/commons/io/file/CopyDirectoryVisitorTest.java new file mode 100644 index 0000000..b48cfd0 --- /dev/null +++ b/src/test/java/org/apache/commons/io/file/CopyDirectoryVisitorTest.java @@ -0,0 +1,104 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. + * The ASF licenses this file to You under the Apache License, Version 2.0 + * (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package org.apache.commons.io.file; + +import static org.apache.commons.io.file.CounterAssertions.assertCounts; + +import java.io.File; +import java.io.IOException; +import java.nio.file.Files; +import java.nio.file.Path; +import java.nio.file.Paths; +import java.nio.file.StandardCopyOption; + +import org.apache.commons.io.FileUtils; +import org.apache.commons.io.file.Counters.PathCounters; +import org.junit.jupiter.api.AfterEach; +import org.junit.jupiter.api.BeforeEach; +import org.junit.jupiter.params.ParameterizedTest; +import org.junit.jupiter.params.provider.MethodSource; + +/** + * Tests {@link CountingPathVisitor}. + */ +public class CopyDirectoryVisitorTest extends TestArguments { + + private Path targetDir; + + @AfterEach + public void afterEach() throws IOException { + PathUtils.deleteDirectory(targetDir); + } + + @BeforeEach + public void beforeEach() throws IOException { + targetDir = Files.createTempDirectory(getClass().getCanonicalName() + "-target"); + } + + /** + * Tests an empty folder. + */ + @ParameterizedTest + @MethodSource("pathCounters") + public void testCopyDirectoryEmptyFolder(final PathCounters pathCounters) throws IOException { + final Path sourceDir = Files.createTempDirectory(getClass().getSimpleName()); + try { + assertCounts(1, 0, 0, + PathUtils.visitFileTree(new CopyDirectoryVisitor(pathCounters, sourceDir, targetDir, StandardCopyOption.REPLACE_EXISTING), sourceDir)); + } finally { + Files.deleteIfExists(sourceDir); + } + } + + /** + * Tests a directory with one file of size 0. + */ + @ParameterizedTest + @MethodSource("pathCounters") + public void testCopyDirectoryFolders1FileSize0(final PathCounters pathCounters) throws IOException { + final Path sourceDir = Paths.get("src/test/resources/org/apache/commons/io/dirs-1-file-size-0"); + assertCounts(1, 1, 0, PathUtils.visitFileTree( + new CopyDirectoryVisitor(pathCounters, sourceDir, targetDir, StandardCopyOption.REPLACE_EXISTING), + sourceDir)); + } + + /** + * Tests a directory with one file of size 1. + */ + @ParameterizedTest + @MethodSource("pathCounters") + public void testCopyDirectoryFolders1FileSize1(final PathCounters pathCounters) throws IOException { + final Path sourceDir = Paths.get("src/test/resources/org/apache/commons/io/dirs-1-file-size-1"); + assertCounts(1, 1, 1, PathUtils.visitFileTree( + new CopyDirectoryVisitor(pathCounters, sourceDir, targetDir, StandardCopyOption.REPLACE_EXISTING), + sourceDir)); + } + + /** + * Tests a directory with two subdirectorys, each containing one file of size 1. + */ + @ParameterizedTest + @MethodSource("pathCounters") + public void testCopyDirectoryFolders2FileSize2(final PathCounters pathCounters) throws IOException { + final Path sourceDir = Paths.get("src/test/resources/org/apache/commons/io/dirs-2-file-size-2"); + assertCounts(3, 2, 2, PathUtils.visitFileTree( + new CopyDirectoryVisitor(pathCounters, sourceDir, targetDir, StandardCopyOption.REPLACE_EXISTING), + sourceDir)); + } + +} diff --git a/src/test/java/org/apache/commons/io/file/CounterAssertions.java b/src/test/java/org/apache/commons/io/file/CounterAssertions.java index d2e3477..5544e88 100644 --- a/src/test/java/org/apache/commons/io/file/CounterAssertions.java +++ b/src/test/java/org/apache/commons/io/file/CounterAssertions.java @@ -26,20 +26,22 @@ import org.apache.commons.io.file.Counters.PathCounters; class CounterAssertions { - static void assertCounter(final long expected, final Counter actual) { - assertEquals(expected, actual.get()); - assertEquals(Long.valueOf(expected), actual.getLong()); - assertEquals(BigInteger.valueOf(expected), actual.getBigInteger()); + static void assertCounter(final long expected, final Counter actual, String message) { + assertEquals(expected, actual.get(), message); + assertEquals(Long.valueOf(expected), actual.getLong(), message); + assertEquals(BigInteger.valueOf(expected), actual.getBigInteger(), message); } - static void assertCounts(final long expectedDirCount, final long expectedFileCount, final long expectedByteCount, final CountingPathVisitor actualVisitor) { + static void assertCounts(final long expectedDirCount, final long expectedFileCount, final long expectedByteCount, + final CountingPathVisitor actualVisitor) { assertCounts(expectedDirCount, expectedFileCount, expectedByteCount, actualVisitor.getPathCounters()); } - static void assertCounts(final long expectedDirCount, final long expectedFileCount, final long expectedByteCount, final PathCounters actualPathCounters) { - assertCounter(expectedDirCount, actualPathCounters.getDirectoryCounter()); - assertCounter(expectedFileCount, actualPathCounters.getFileCounter()); - assertCounter(expectedByteCount, actualPathCounters.getByteCounter()); + static void assertCounts(final long expectedDirCount, final long expectedFileCount, final long expectedByteCount, + final PathCounters actualPathCounters) { + assertCounter(expectedDirCount, actualPathCounters.getDirectoryCounter(), "getDirectoryCounter"); + assertCounter(expectedFileCount, actualPathCounters.getFileCounter(), "getFileCounter"); + assertCounter(expectedByteCount, actualPathCounters.getByteCounter(), "getByteCounter"); } } diff --git a/src/test/java/org/apache/commons/io/file/CountersTest.java b/src/test/java/org/apache/commons/io/file/CountersTest.java index 92c1aa5..1992e0a 100644 --- a/src/test/java/org/apache/commons/io/file/CountersTest.java +++ b/src/test/java/org/apache/commons/io/file/CountersTest.java @@ -30,7 +30,7 @@ public class CountersTest extends TestArguments { @ParameterizedTest @MethodSource("numberCounters") public void testInitialValue(final Counter counter) { - assertCounter(0, counter); + assertCounter(0, counter, ""); } @ParameterizedTest diff --git a/src/test/java/org/apache/commons/io/file/DeletingPathVisitorTest.java b/src/test/java/org/apache/commons/io/file/DeletingPathVisitorTest.java index 0a56831..d74ae3a 100644 --- a/src/test/java/org/apache/commons/io/file/DeletingPathVisitorTest.java +++ b/src/test/java/org/apache/commons/io/file/DeletingPathVisitorTest.java @@ -85,8 +85,7 @@ public class DeletingPathVisitorTest extends TestArguments { @ParameterizedTest @MethodSource("deletingPathVisitors") public void testDeleteFolders1FileSize0(final DeletingPathVisitor visitor) throws IOException { - FileUtils.copyDirectory(Paths.get("src/test/resources/org/apache/commons/io/dirs-1-file-size-0").toFile(), - tempDir.toFile()); + PathUtils.copyDirectory(Paths.get("src/test/resources/org/apache/commons/io/dirs-1-file-size-0"), tempDir); assertCounts(1, 1, 0, PathUtils.visitFileTree(visitor, tempDir)); // This will throw if not empty. Files.deleteIfExists(tempDir); @@ -98,8 +97,7 @@ public class DeletingPathVisitorTest extends TestArguments { @ParameterizedTest @MethodSource("deletingPathVisitors") public void testDeleteFolders1FileSize1(final DeletingPathVisitor visitor) throws IOException { - FileUtils.copyDirectory(Paths.get("src/test/resources/org/apache/commons/io/dirs-1-file-size-1").toFile(), - tempDir.toFile()); + PathUtils.copyDirectory(Paths.get("src/test/resources/org/apache/commons/io/dirs-1-file-size-1"), tempDir); assertCounts(1, 1, 1, PathUtils.visitFileTree(visitor, tempDir)); // This will throw if not empty. Files.deleteIfExists(tempDir); @@ -111,8 +109,7 @@ public class DeletingPathVisitorTest extends TestArguments { @ParameterizedTest @MethodSource("pathCounters") public void testDeleteFolders1FileSize1Skip(final PathCounters pathCounters) throws IOException { - FileUtils.copyDirectory(Paths.get("src/test/resources/org/apache/commons/io/dirs-1-file-size-1").toFile(), - tempDir.toFile()); + PathUtils.copyDirectory(Paths.get("src/test/resources/org/apache/commons/io/dirs-1-file-size-1"), tempDir); final String skipFileName = "file-size-1.bin"; final CountingPathVisitor visitor = new DeletingPathVisitor(pathCounters, skipFileName); assertCounts(1, 1, 1, PathUtils.visitFileTree(visitor, tempDir)); @@ -127,8 +124,7 @@ public class DeletingPathVisitorTest extends TestArguments { @ParameterizedTest @MethodSource("deletingPathVisitors") public void testDeleteFolders2FileSize2(final DeletingPathVisitor visitor) throws IOException { - FileUtils.copyDirectory(Paths.get("src/test/resources/org/apache/commons/io/dirs-2-file-size-2").toFile(), - tempDir.toFile()); + PathUtils.copyDirectory(Paths.get("src/test/resources/org/apache/commons/io/dirs-2-file-size-2"), tempDir); assertCounts(3, 2, 2, PathUtils.visitFileTree(visitor, tempDir)); // This will throw if not empty. Files.deleteIfExists(tempDir); diff --git a/src/test/java/org/apache/commons/io/file/PathUtilsCleanDirectoryTest.java b/src/test/java/org/apache/commons/io/file/PathUtilsCleanDirectoryTest.java index dd0cb13..7a77f02 100644 --- a/src/test/java/org/apache/commons/io/file/PathUtilsCleanDirectoryTest.java +++ b/src/test/java/org/apache/commons/io/file/PathUtilsCleanDirectoryTest.java @@ -57,8 +57,7 @@ public class PathUtilsCleanDirectoryTest { */ @Test public void testCleanDirectory1FileSize0() throws IOException { - FileUtils.copyDirectory(Paths.get("src/test/resources/org/apache/commons/io/dirs-1-file-size-0").toFile(), - tempDir.toFile()); + PathUtils.copyDirectory(Paths.get("src/test/resources/org/apache/commons/io/dirs-1-file-size-0"), tempDir); assertCounts(1, 1, 0, PathUtils.cleanDirectory(tempDir)); } @@ -67,8 +66,7 @@ public class PathUtilsCleanDirectoryTest { */ @Test public void testCleanDirectory1FileSize1() throws IOException { - FileUtils.copyDirectory(Paths.get("src/test/resources/org/apache/commons/io/dirs-1-file-size-1").toFile(), - tempDir.toFile()); + PathUtils.copyDirectory(Paths.get("src/test/resources/org/apache/commons/io/dirs-1-file-size-1"), tempDir); assertCounts(1, 1, 1, PathUtils.cleanDirectory(tempDir)); } @@ -77,8 +75,7 @@ public class PathUtilsCleanDirectoryTest { */ @Test public void testCleanDirectory2FileSize2() throws IOException { - FileUtils.copyDirectory(Paths.get("src/test/resources/org/apache/commons/io/dirs-2-file-size-2").toFile(), - tempDir.toFile()); + PathUtils.copyDirectory(Paths.get("src/test/resources/org/apache/commons/io/dirs-2-file-size-2"), tempDir); assertCounts(3, 2, 2, PathUtils.cleanDirectory(tempDir)); } diff --git a/src/test/java/org/apache/commons/io/file/PathUtilsDeleteDirectoryTest.java b/src/test/java/org/apache/commons/io/file/PathUtilsDeleteDirectoryTest.java index 905f2fc..19f2f6c 100644 --- a/src/test/java/org/apache/commons/io/file/PathUtilsDeleteDirectoryTest.java +++ b/src/test/java/org/apache/commons/io/file/PathUtilsDeleteDirectoryTest.java @@ -54,8 +54,7 @@ public class PathUtilsDeleteDirectoryTest { */ @Test public void testDeleteDirectory1FileSize0() throws IOException { - FileUtils.copyDirectory(Paths.get("src/test/resources/org/apache/commons/io/dirs-1-file-size-0").toFile(), - tempDir.toFile()); + PathUtils.copyDirectory(Paths.get("src/test/resources/org/apache/commons/io/dirs-1-file-size-0"), tempDir); assertCounts(1, 1, 0, PathUtils.deleteDirectory(tempDir)); // This will throw if not empty. Files.deleteIfExists(tempDir); @@ -66,8 +65,7 @@ public class PathUtilsDeleteDirectoryTest { */ @Test public void testDeleteDirectory1FileSize1() throws IOException { - FileUtils.copyDirectory(Paths.get("src/test/resources/org/apache/commons/io/dirs-1-file-size-1").toFile(), - tempDir.toFile()); + PathUtils.copyDirectory(Paths.get("src/test/resources/org/apache/commons/io/dirs-1-file-size-1"), tempDir); assertCounts(1, 1, 1, PathUtils.deleteDirectory(tempDir)); // This will throw if not empty. Files.deleteIfExists(tempDir); @@ -78,8 +76,7 @@ public class PathUtilsDeleteDirectoryTest { */ @Test public void testDeleteDirectory2FileSize2() throws IOException { - FileUtils.copyDirectory(Paths.get("src/test/resources/org/apache/commons/io/dirs-2-file-size-2").toFile(), - tempDir.toFile()); + PathUtils.copyDirectory(Paths.get("src/test/resources/org/apache/commons/io/dirs-2-file-size-2"), tempDir); assertCounts(3, 2, 2, PathUtils.deleteDirectory(tempDir)); // This will throw if not empty. Files.deleteIfExists(tempDir);