aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGary Gregory <garydgregory@gmail.com>2023-01-27 17:09:13 -0500
committerGary Gregory <garydgregory@gmail.com>2023-01-27 17:09:13 -0500
commitb894d66cf07f8ab76f048779b8dcb91f7511f0ce (patch)
treed14a0643d3fb1bfdf57cbda80fc4055e61ca369b
parent48c3cc5ac4cac73ce769b4e313b6442575f5f166 (diff)
downloadapache-commons-io-b894d66cf07f8ab76f048779b8dcb91f7511f0ce.tar.gz
Port some test code from IO to NIO APIs
-rw-r--r--src/main/java/org/apache/commons/io/file/PathUtils.java10
-rw-r--r--src/test/java/org/apache/commons/io/FilenameUtilsTest.java32
-rw-r--r--src/test/java/org/apache/commons/io/input/AbstractInputStreamTest.java15
3 files changed, 34 insertions, 23 deletions
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 65900606..fd6cccbf 100644
--- a/src/main/java/org/apache/commons/io/file/PathUtils.java
+++ b/src/main/java/org/apache/commons/io/file/PathUtils.java
@@ -567,6 +567,16 @@ public final class PathUtils {
}
/**
+ * Delegates to {@link File#deleteOnExit()}.
+ *
+ * @param path the path to delete.
+ * @since 3.13.0
+ */
+ public static void deleteOnExit(Path path) {
+ Objects.requireNonNull(path.toFile()).deleteOnExit();
+ }
+
+ /**
* Compares the file sets of two Paths to determine if they are equal or not while considering file contents. The
* comparison includes all files in all subdirectories.
*
diff --git a/src/test/java/org/apache/commons/io/FilenameUtilsTest.java b/src/test/java/org/apache/commons/io/FilenameUtilsTest.java
index d6dec780..68620673 100644
--- a/src/test/java/org/apache/commons/io/FilenameUtilsTest.java
+++ b/src/test/java/org/apache/commons/io/FilenameUtilsTest.java
@@ -26,6 +26,7 @@ import java.io.BufferedOutputStream;
import java.io.File;
import java.io.IOException;
import java.nio.file.Files;
+import java.nio.file.Path;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.Collection;
@@ -46,52 +47,53 @@ public class FilenameUtilsTest {
private static final String SEP = "" + File.separatorChar;
private static final boolean WINDOWS = File.separatorChar == '\\';
+
@TempDir
- public File temporaryFolder;
+ public Path temporaryFolder;
- private File testFile1;
- private File testFile2;
+ private Path testFile1;
+ private Path testFile2;
private int testFile1Size;
private int testFile2Size;
@BeforeEach
public void setUp() throws Exception {
- testFile1 = File.createTempFile("test", "1", temporaryFolder);
- testFile2 = File.createTempFile("test", "2", temporaryFolder);
+ testFile1 = Files.createTempFile(temporaryFolder, "test", "1");
+ testFile2 = Files.createTempFile(temporaryFolder, "test", "2");
- testFile1Size = (int) testFile1.length();
- testFile2Size = (int) testFile2.length();
- if (!testFile1.getParentFile().exists()) {
+ testFile1Size = (int) Files.size(testFile1);
+ testFile2Size = (int) Files.size(testFile2);
+ if (!Files.exists(testFile1.getParent())) {
throw new IOException("Cannot create file " + testFile1
+ " as the parent directory does not exist");
}
try (BufferedOutputStream output3 =
- new BufferedOutputStream(Files.newOutputStream(testFile1.toPath()))) {
+ new BufferedOutputStream(Files.newOutputStream(testFile1))) {
TestUtils.generateTestData(output3, testFile1Size);
}
- if (!testFile2.getParentFile().exists()) {
+ if (!Files.exists(testFile2.getParent())) {
throw new IOException("Cannot create file " + testFile2
+ " as the parent directory does not exist");
}
try (BufferedOutputStream output2 =
- new BufferedOutputStream(Files.newOutputStream(testFile2.toPath()))) {
+ new BufferedOutputStream(Files.newOutputStream(testFile2))) {
TestUtils.generateTestData(output2, testFile2Size);
}
- if (!testFile1.getParentFile().exists()) {
+ if (!Files.exists(testFile1.getParent())) {
throw new IOException("Cannot create file " + testFile1
+ " as the parent directory does not exist");
}
try (BufferedOutputStream output1 =
- new BufferedOutputStream(Files.newOutputStream(testFile1.toPath()))) {
+ new BufferedOutputStream(Files.newOutputStream(testFile1))) {
TestUtils.generateTestData(output1, testFile1Size);
}
- if (!testFile2.getParentFile().exists()) {
+ if (!Files.exists(testFile2.getParent())) {
throw new IOException("Cannot create file " + testFile2
+ " as the parent directory does not exist");
}
try (BufferedOutputStream output =
- new BufferedOutputStream(Files.newOutputStream(testFile2.toPath()))) {
+ new BufferedOutputStream(Files.newOutputStream(testFile2))) {
TestUtils.generateTestData(output, testFile2Size);
}
}
diff --git a/src/test/java/org/apache/commons/io/input/AbstractInputStreamTest.java b/src/test/java/org/apache/commons/io/input/AbstractInputStreamTest.java
index 11435ba8..b8684781 100644
--- a/src/test/java/org/apache/commons/io/input/AbstractInputStreamTest.java
+++ b/src/test/java/org/apache/commons/io/input/AbstractInputStreamTest.java
@@ -18,12 +18,11 @@ package org.apache.commons.io.input;
import static org.junit.jupiter.api.Assertions.assertEquals;
-import java.io.File;
import java.io.IOException;
import java.io.InputStream;
+import java.nio.file.Files;
+import java.nio.file.Path;
-import org.apache.commons.io.FileUtils;
-import org.apache.commons.io.IOExceptionList;
import org.apache.commons.io.IOUtils;
import org.apache.commons.lang3.RandomUtils;
import org.junit.jupiter.api.AfterEach;
@@ -41,7 +40,7 @@ public abstract class AbstractInputStreamTest {
private byte[] randomBytes;
- protected File inputFile;
+ protected Path inputFile;
protected InputStream[] inputStreams;
@@ -49,13 +48,13 @@ public abstract class AbstractInputStreamTest {
public void setUp() throws IOException {
// Create a byte array of size 2 MB with random bytes
randomBytes = RandomUtils.nextBytes(2 * 1024 * 1024);
- inputFile = File.createTempFile("temp-file", ".tmp");
- FileUtils.writeByteArrayToFile(inputFile, randomBytes);
+ inputFile = Files.createTempFile("temp-file", ".tmp");
+ Files.write(inputFile, randomBytes);
}
@AfterEach
- public void tearDown() throws IOExceptionList {
- inputFile.delete();
+ public void tearDown() throws IOException {
+ Files.delete(inputFile);
IOUtils.close(inputStreams);
}