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 b2811e8  Replace construction of FileInputStream and FileOutputStream 
objects with Files NIO APIs. (#221)
b2811e8 is described below

commit b2811e866394085937c910c084ea37edde53ec35
Author: Arturo Bernal <arturobern...@gmail.com>
AuthorDate: Wed Jun 30 18:30:32 2021 +0200

    Replace construction of FileInputStream and FileOutputStream objects with 
Files NIO APIs. (#221)
---
 src/main/java/org/apache/commons/io/FileUtils.java |  10 +-
 src/main/java/org/apache/commons/io/IOUtils.java   |   4 +-
 .../apache/commons/io/input/XmlStreamReader.java   |   4 +-
 .../io/output/DeferredFileOutputStream.java        |   6 +-
 .../commons/io/output/FileWriterWithEncoding.java  |   5 +-
 .../commons/io/FileCleaningTrackerTestCase.java    |   4 +-
 .../commons/io/FileDeleteStrategyTestCase.java     |   8 +-
 .../commons/io/FileUtilsFileNewerTestCase.java     |   6 +-
 .../org/apache/commons/io/FileUtilsTestCase.java   | 111 +++++++++++----------
 .../apache/commons/io/FilenameUtilsTestCase.java   |  10 +-
 .../org/apache/commons/io/IOUtilsTestCase.java     |  71 +++++++------
 .../apache/commons/io/LineIteratorTestCase.java    |   6 +-
 .../io/comparator/CompositeFileComparatorTest.java |  10 +-
 .../comparator/LastModifiedFileComparatorTest.java |   8 +-
 .../io/comparator/SizeFileComparatorTest.java      |   8 +-
 .../commons/io/filefilter/FileFilterTestCase.java  |  45 ++++-----
 .../apache/commons/io/input/BoundedReaderTest.java |   3 +-
 .../org/apache/commons/io/input/TailerTest.java    |  17 ++--
 .../io/input/compatibility/XmlStreamReader.java    |   4 +-
 .../io/output/DeferredFileOutputStreamTest.java    |   4 +-
 .../io/output/FileWriterWithEncodingTest.java      |   4 +-
 .../java/org/apache/commons/io/test/TestUtils.java |  19 ++--
 22 files changed, 184 insertions(+), 183 deletions(-)

diff --git a/src/main/java/org/apache/commons/io/FileUtils.java 
b/src/main/java/org/apache/commons/io/FileUtils.java
index 21d29e7..0e76e3a 100644
--- a/src/main/java/org/apache/commons/io/FileUtils.java
+++ b/src/main/java/org/apache/commons/io/FileUtils.java
@@ -285,7 +285,7 @@ public class FileUtils {
         requireExistsChecked(file, "file");
         requireFile(file, "file");
         Objects.requireNonNull(checksum, "checksum");
-        try (InputStream inputStream = new CheckedInputStream(new 
FileInputStream(file), checksum)) {
+        try (InputStream inputStream = new 
CheckedInputStream(Files.newInputStream(file.toPath()), checksum)) {
             IOUtils.consume(inputStream);
         }
         return checksum;
@@ -405,7 +405,7 @@ public class FileUtils {
             return true;
         }
 
-        try (InputStream input1 = new FileInputStream(file1); InputStream 
input2 = new FileInputStream(file2)) {
+        try (InputStream input1 = Files.newInputStream(file1.toPath()); 
InputStream input2 = Files.newInputStream(file2.toPath())) {
             return IOUtils.contentEquals(input1, input2);
         }
     }
@@ -456,8 +456,8 @@ public class FileUtils {
         }
 
         final Charset charset = Charsets.toCharset(charsetName);
-        try (Reader input1 = new InputStreamReader(new FileInputStream(file1), 
charset);
-             Reader input2 = new InputStreamReader(new FileInputStream(file2), 
charset)) {
+        try (Reader input1 = new 
InputStreamReader(Files.newInputStream(file1.toPath()), charset);
+             Reader input2 = new 
InputStreamReader(Files.newInputStream(file2.toPath()), charset)) {
             return IOUtils.contentEqualsIgnoreEOL(input1, input2);
         }
     }
@@ -868,7 +868,7 @@ public class FileUtils {
      * @since 2.1
      */
     public static long copyFile(final File input, final OutputStream output) 
throws IOException {
-        try (FileInputStream fis = new FileInputStream(input)) {
+        try (InputStream fis = Files.newInputStream(input.toPath())) {
             return IOUtils.copyLarge(fis, output);
         }
     }
diff --git a/src/main/java/org/apache/commons/io/IOUtils.java 
b/src/main/java/org/apache/commons/io/IOUtils.java
index c74b74c..f3addf4 100644
--- a/src/main/java/org/apache/commons/io/IOUtils.java
+++ b/src/main/java/org/apache/commons/io/IOUtils.java
@@ -25,7 +25,6 @@ import java.io.CharArrayWriter;
 import java.io.Closeable;
 import java.io.EOFException;
 import java.io.File;
-import java.io.FileOutputStream;
 import java.io.IOException;
 import java.io.InputStream;
 import java.io.InputStreamReader;
@@ -44,6 +43,7 @@ import java.nio.CharBuffer;
 import java.nio.channels.ReadableByteChannel;
 import java.nio.channels.Selector;
 import java.nio.charset.Charset;
+import java.nio.file.Files;
 import java.util.ArrayList;
 import java.util.Collection;
 import java.util.List;
@@ -1230,7 +1230,7 @@ public class IOUtils {
      * @since 2.9.0
      */
     public static long copy(final URL url, final File file) throws IOException 
{
-        try (FileOutputStream outputStream = new 
FileOutputStream(Objects.requireNonNull(file, "file"))) {
+        try (OutputStream outputStream = 
Files.newOutputStream(Objects.requireNonNull(file, "file").toPath())) {
             return copy(url, outputStream);
         }
     }
diff --git a/src/main/java/org/apache/commons/io/input/XmlStreamReader.java 
b/src/main/java/org/apache/commons/io/input/XmlStreamReader.java
index 7dd1063..ea5cae4 100644
--- a/src/main/java/org/apache/commons/io/input/XmlStreamReader.java
+++ b/src/main/java/org/apache/commons/io/input/XmlStreamReader.java
@@ -19,7 +19,6 @@ package org.apache.commons.io.input;
 import java.io.BufferedInputStream;
 import java.io.BufferedReader;
 import java.io.File;
-import java.io.FileInputStream;
 import java.io.IOException;
 import java.io.InputStream;
 import java.io.InputStreamReader;
@@ -28,6 +27,7 @@ import java.io.StringReader;
 import java.net.HttpURLConnection;
 import java.net.URL;
 import java.net.URLConnection;
+import java.nio.file.Files;
 import java.text.MessageFormat;
 import java.util.Locale;
 import java.util.Objects;
@@ -277,7 +277,7 @@ public class XmlStreamReader extends Reader {
      */
     @SuppressWarnings("resource") // FileInputStream is managed through 
another reader in this instance.
     public XmlStreamReader(final File file) throws IOException {
-        this(new FileInputStream(Objects.requireNonNull(file, "file")));
+        this(Files.newInputStream(Objects.requireNonNull(file, 
"file").toPath()));
     }
 
     /**
diff --git 
a/src/main/java/org/apache/commons/io/output/DeferredFileOutputStream.java 
b/src/main/java/org/apache/commons/io/output/DeferredFileOutputStream.java
index 756f825..990657f 100644
--- a/src/main/java/org/apache/commons/io/output/DeferredFileOutputStream.java
+++ b/src/main/java/org/apache/commons/io/output/DeferredFileOutputStream.java
@@ -17,8 +17,6 @@
 package org.apache.commons.io.output;
 
 import java.io.File;
-import java.io.FileInputStream;
-import java.io.FileOutputStream;
 import java.io.IOException;
 import java.io.InputStream;
 import java.io.OutputStream;
@@ -240,7 +238,7 @@ public class DeferredFileOutputStream extends 
ThresholdingOutputStream {
             outputFile = File.createTempFile(prefix, suffix, directory);
         }
         FileUtils.forceMkdirParent(outputFile);
-        final FileOutputStream fos = new FileOutputStream(outputFile);
+        final OutputStream fos = Files.newOutputStream(outputFile.toPath());
         try {
             memoryOutputStream.writeTo(fos);
         } catch (final IOException e) {
@@ -297,7 +295,7 @@ public class DeferredFileOutputStream extends 
ThresholdingOutputStream {
         if (isInMemory()) {
             memoryOutputStream.writeTo(outputStream);
         } else {
-            try (FileInputStream fis = new FileInputStream(outputFile)) {
+            try (InputStream fis = Files.newInputStream(outputFile.toPath())) {
                 IOUtils.copy(fis, outputStream);
             }
         }
diff --git 
a/src/main/java/org/apache/commons/io/output/FileWriterWithEncoding.java 
b/src/main/java/org/apache/commons/io/output/FileWriterWithEncoding.java
index 7b3df9b..d476e6b 100644
--- a/src/main/java/org/apache/commons/io/output/FileWriterWithEncoding.java
+++ b/src/main/java/org/apache/commons/io/output/FileWriterWithEncoding.java
@@ -17,13 +17,14 @@
 package org.apache.commons.io.output;
 
 import java.io.File;
-import java.io.FileOutputStream;
 import java.io.IOException;
 import java.io.OutputStream;
 import java.io.OutputStreamWriter;
 import java.io.Writer;
 import java.nio.charset.Charset;
 import java.nio.charset.CharsetEncoder;
+import java.nio.file.Files;
+import java.nio.file.StandardOpenOption;
 import java.util.Objects;
 
 import org.apache.commons.io.FileUtils;
@@ -227,7 +228,7 @@ public class FileWriterWithEncoding extends Writer {
         OutputStream stream = null;
         final boolean fileExistedAlready = file.exists();
         try {
-            stream = new FileOutputStream(file, append);
+            stream = Files.newOutputStream(file.toPath(),  append ? 
StandardOpenOption.APPEND : StandardOpenOption.CREATE);
             if (encoding instanceof Charset) {
                 return new OutputStreamWriter(stream, (Charset)encoding);
             }
diff --git 
a/src/test/java/org/apache/commons/io/FileCleaningTrackerTestCase.java 
b/src/test/java/org/apache/commons/io/FileCleaningTrackerTestCase.java
index 7574623..921f5a5 100644
--- a/src/test/java/org/apache/commons/io/FileCleaningTrackerTestCase.java
+++ b/src/test/java/org/apache/commons/io/FileCleaningTrackerTestCase.java
@@ -24,10 +24,10 @@ import static org.junit.jupiter.api.Assertions.fail;
 
 import java.io.BufferedOutputStream;
 import java.io.File;
-import java.io.FileOutputStream;
 import java.io.IOException;
 import java.io.RandomAccessFile;
 import java.lang.ref.ReferenceQueue;
+import java.nio.file.Files;
 import java.util.ArrayList;
 import java.util.List;
 
@@ -156,7 +156,7 @@ public class FileCleaningTrackerTestCase {
                     + " as the parent directory does not exist");
         }
         try (final BufferedOutputStream output =
-                new BufferedOutputStream(new FileOutputStream(testFile))) {
+                new 
BufferedOutputStream(Files.newOutputStream(testFile.toPath()))) {
             TestUtils.generateTestData(output, 100);
         }
         assertTrue(testFile.exists());
diff --git 
a/src/test/java/org/apache/commons/io/FileDeleteStrategyTestCase.java 
b/src/test/java/org/apache/commons/io/FileDeleteStrategyTestCase.java
index 1d073d7..dfafa79 100644
--- a/src/test/java/org/apache/commons/io/FileDeleteStrategyTestCase.java
+++ b/src/test/java/org/apache/commons/io/FileDeleteStrategyTestCase.java
@@ -23,8 +23,8 @@ import static org.junit.jupiter.api.Assertions.fail;
 
 import java.io.BufferedOutputStream;
 import java.io.File;
-import java.io.FileOutputStream;
 import java.io.IOException;
+import java.nio.file.Files;
 
 import org.apache.commons.io.test.TestUtils;
 import org.junit.jupiter.api.Test;
@@ -51,7 +51,7 @@ public class FileDeleteStrategyTestCase {
                     + " as the parent directory does not exist");
         }
         try (final BufferedOutputStream output =
-                new BufferedOutputStream(new FileOutputStream(subFile))) {
+                new 
BufferedOutputStream(Files.newOutputStream(subFile.toPath()))) {
             TestUtils.generateTestData(output, 16);
         }
 
@@ -89,7 +89,7 @@ public class FileDeleteStrategyTestCase {
                     + " as the parent directory does not exist");
         }
         try (final BufferedOutputStream output =
-                new BufferedOutputStream(new FileOutputStream(subFile))) {
+                new 
BufferedOutputStream(Files.newOutputStream(subFile.toPath()))) {
             TestUtils.generateTestData(output, 16);
         }
 
@@ -122,7 +122,7 @@ public class FileDeleteStrategyTestCase {
                     + " as the parent directory does not exist");
         }
         try (final BufferedOutputStream output =
-                new BufferedOutputStream(new FileOutputStream(subFile))) {
+                new 
BufferedOutputStream(Files.newOutputStream(subFile.toPath()))) {
             TestUtils.generateTestData(output, 16);
         }
 
diff --git 
a/src/test/java/org/apache/commons/io/FileUtilsFileNewerTestCase.java 
b/src/test/java/org/apache/commons/io/FileUtilsFileNewerTestCase.java
index 589e7ce..ead1179 100644
--- a/src/test/java/org/apache/commons/io/FileUtilsFileNewerTestCase.java
+++ b/src/test/java/org/apache/commons/io/FileUtilsFileNewerTestCase.java
@@ -21,8 +21,8 @@ import static org.junit.jupiter.api.Assertions.assertThrows;
 
 import java.io.BufferedOutputStream;
 import java.io.File;
-import java.io.FileOutputStream;
 import java.io.IOException;
+import java.nio.file.Files;
 import java.util.Date;
 
 import org.apache.commons.io.test.TestUtils;
@@ -54,7 +54,7 @@ public class FileUtilsFileNewerTestCase {
                     + " as the parent directory does not exist");
         }
         try (final BufferedOutputStream output1 =
-                new BufferedOutputStream(new FileOutputStream(testFile1))) {
+                new 
BufferedOutputStream(Files.newOutputStream(testFile1.toPath()))) {
             TestUtils.generateTestData(output1, FILE1_SIZE);
         }
         if (!testFile2.getParentFile().exists()) {
@@ -62,7 +62,7 @@ public class FileUtilsFileNewerTestCase {
                     + " as the parent directory does not exist");
         }
         try (final BufferedOutputStream output =
-                new BufferedOutputStream(new FileOutputStream(testFile2))) {
+                new 
BufferedOutputStream(Files.newOutputStream(testFile2.toPath()))) {
             TestUtils.generateTestData(output, FILE2_SIZE);
         }
     }
diff --git a/src/test/java/org/apache/commons/io/FileUtilsTestCase.java 
b/src/test/java/org/apache/commons/io/FileUtilsTestCase.java
index 4a9f014..0957c3e 100644
--- a/src/test/java/org/apache/commons/io/FileUtilsTestCase.java
+++ b/src/test/java/org/apache/commons/io/FileUtilsTestCase.java
@@ -34,6 +34,7 @@ import java.io.FileInputStream;
 import java.io.FileNotFoundException;
 import java.io.FileOutputStream;
 import java.io.IOException;
+import java.io.InputStream;
 import java.io.OutputStream;
 import java.math.BigInteger;
 import java.net.URL;
@@ -286,7 +287,7 @@ public class FileUtilsTestCase {
                     + " as the parent directory does not exist");
         }
         try (final BufferedOutputStream output3 =
-                new BufferedOutputStream(new FileOutputStream(testFile1))) {
+                new 
BufferedOutputStream(Files.newOutputStream(testFile1.toPath()))) {
             TestUtils.generateTestData(output3, testFile1Size);
         }
         if (!testFile2.getParentFile().exists()) {
@@ -294,7 +295,7 @@ public class FileUtilsTestCase {
                     + " as the parent directory does not exist");
         }
         try (final BufferedOutputStream output2 =
-                new BufferedOutputStream(new FileOutputStream(testFile2))) {
+                new 
BufferedOutputStream(Files.newOutputStream(testFile2.toPath()))) {
             TestUtils.generateTestData(output2, testFile2Size);
         }
         FileUtils.deleteDirectory(temporaryFolder);
@@ -304,7 +305,7 @@ public class FileUtilsTestCase {
                     + " as the parent directory does not exist");
         }
         try (final BufferedOutputStream output1 =
-                new BufferedOutputStream(new FileOutputStream(testFile1))) {
+                new 
BufferedOutputStream(Files.newOutputStream(testFile1.toPath()))) {
             TestUtils.generateTestData(output1, testFile1Size);
         }
         if (!testFile2.getParentFile().exists()) {
@@ -312,7 +313,7 @@ public class FileUtilsTestCase {
                     + " as the parent directory does not exist");
         }
         try (final BufferedOutputStream output =
-                new BufferedOutputStream(new FileOutputStream(testFile2))) {
+                new 
BufferedOutputStream(Files.newOutputStream(testFile2.toPath()))) {
             TestUtils.generateTestData(output, testFile2Size);
         }
     }
@@ -825,8 +826,8 @@ public class FileUtilsTestCase {
             throw new IOException("Cannot create file " + testFile1
                     + " as the parent directory does not exist");
         }
-        final BufferedOutputStream output1 =
-                new BufferedOutputStream(new FileOutputStream(testFile1));
+        final OutputStream output1 =
+                new 
BufferedOutputStream(Files.newOutputStream(testFile1.toPath()));
         try {
             TestUtils.generateTestData(output1, 1234);
         } finally {
@@ -836,8 +837,8 @@ public class FileUtilsTestCase {
             throw new IOException("Cannot create file " + testFile2
                     + " as the parent directory does not exist");
         }
-        final BufferedOutputStream output =
-                new BufferedOutputStream(new FileOutputStream(testFile2));
+        final OutputStream output =
+                new 
BufferedOutputStream(Files.newOutputStream(testFile2.toPath()));
         try {
             TestUtils.generateTestData(output, 4321);
         } finally {
@@ -889,8 +890,8 @@ public class FileUtilsTestCase {
             throw new IOException("Cannot create file " + testFile1
                     + " as the parent directory does not exist");
         }
-        final BufferedOutputStream output1 =
-                new BufferedOutputStream(new FileOutputStream(testFile1));
+        final OutputStream output1 =
+                new 
BufferedOutputStream(Files.newOutputStream(testFile1.toPath()));
         try {
             TestUtils.generateTestData(output1, 1234);
         } finally {
@@ -900,8 +901,8 @@ public class FileUtilsTestCase {
             throw new IOException("Cannot create file " + testFile2
                     + " as the parent directory does not exist");
         }
-        final BufferedOutputStream output =
-                new BufferedOutputStream(new FileOutputStream(testFile2));
+        final OutputStream output =
+                new 
BufferedOutputStream(Files.newOutputStream(testFile2.toPath()));
         try {
             TestUtils.generateTestData(output, 4321);
         } finally {
@@ -959,8 +960,8 @@ public class FileUtilsTestCase {
             throw new IOException("Cannot create file " + testFile1
                     + " as the parent directory does not exist");
         }
-        final BufferedOutputStream output1 =
-                new BufferedOutputStream(new FileOutputStream(testFile1));
+        final OutputStream output1 =
+                new 
BufferedOutputStream(Files.newOutputStream(testFile1.toPath()));
         try {
             TestUtils.generateTestData(output1, 1234);
         } finally {
@@ -970,8 +971,8 @@ public class FileUtilsTestCase {
             throw new IOException("Cannot create file " + testFile2
                     + " as the parent directory does not exist");
         }
-        final BufferedOutputStream output =
-                new BufferedOutputStream(new FileOutputStream(testFile2));
+        final OutputStream output =
+                new 
BufferedOutputStream(Files.newOutputStream(testFile2.toPath()));
         try {
             TestUtils.generateTestData(output, 4321);
         } finally {
@@ -1093,8 +1094,8 @@ public class FileUtilsTestCase {
             throw new IOException("Cannot create file " + largeFile
                     + " as the parent directory does not exist");
         }
-        final BufferedOutputStream output =
-                new BufferedOutputStream(new FileOutputStream(largeFile));
+        final OutputStream output =
+                new 
BufferedOutputStream(Files.newOutputStream(largeFile.toPath()));
         try {
             TestUtils.generateTestData(output, FileUtils.ONE_GB);
         } finally {
@@ -1227,7 +1228,7 @@ public class FileUtilsTestCase {
         FileUtils.copyURLToFile(getClass().getResource(resourceName), file);
 
         // Tests that resuorce was copied correctly
-        try (FileInputStream fis = new FileInputStream(file)) {
+        try (InputStream fis = Files.newInputStream(file.toPath())) {
             
assertTrue(IOUtils.contentEquals(getClass().getResourceAsStream(resourceName), 
fis),
                     "Content is not equal.");
         }
@@ -1245,7 +1246,7 @@ public class FileUtilsTestCase {
         FileUtils.copyURLToFile(getClass().getResource(resourceName), file, 
500, 500);
 
         // Tests that resuorce was copied correctly
-        try (FileInputStream fis = new FileInputStream(file)) {
+        try (InputStream fis = Files.newInputStream(file.toPath())) {
             
assertTrue(IOUtils.contentEquals(getClass().getResourceAsStream(resourceName), 
fis),
                     "Content is not equal.");
         }
@@ -1308,8 +1309,8 @@ public class FileUtilsTestCase {
             throw new IOException("Cannot create file " + testFile
                     + " as the parent directory does not exist");
         }
-        final BufferedOutputStream output =
-                new BufferedOutputStream(new FileOutputStream(testFile));
+        final OutputStream output =
+                new 
BufferedOutputStream(Files.newOutputStream(testFile.toPath()));
         try {
             TestUtils.generateTestData(output, 0);
         } finally {
@@ -1330,8 +1331,8 @@ public class FileUtilsTestCase {
             throw new IOException("Cannot create file " + testFile
                     + " as the parent directory does not exist");
         }
-        final BufferedOutputStream output =
-                new BufferedOutputStream(new FileOutputStream(testFile));
+        final OutputStream output =
+                new 
BufferedOutputStream(Files.newOutputStream(testFile.toPath()));
         try {
             TestUtils.generateTestData(output, 0);
         } finally {
@@ -1374,7 +1375,7 @@ public class FileUtilsTestCase {
         final String filename = file1.getAbsolutePath();
 
         //Create test file on-the-fly (used to be in CVS)
-        try (OutputStream out = new FileOutputStream(file1)) {
+        try (OutputStream out = Files.newOutputStream(file1.toPath())) {
             out.write("This is a test".getBytes(StandardCharsets.UTF_8));
         }
 
@@ -1629,8 +1630,8 @@ public class FileUtilsTestCase {
             throw new IOException("Cannot create file " + oldFile
                     + " as the parent directory does not exist");
         }
-        final BufferedOutputStream output1 =
-                new BufferedOutputStream(new FileOutputStream(oldFile));
+        final OutputStream output1 =
+                new 
BufferedOutputStream(Files.newOutputStream(oldFile.toPath()));
         try {
             TestUtils.generateTestData(output1, 0);
         } finally {
@@ -1647,8 +1648,8 @@ public class FileUtilsTestCase {
                 throw new IOException("Cannot create file " + reference
                         + " as the parent directory does not exist");
             }
-            final BufferedOutputStream output =
-                    new BufferedOutputStream(new FileOutputStream(reference));
+            final OutputStream output =
+                    new 
BufferedOutputStream(Files.newOutputStream(reference.toPath()));
             try {
                 TestUtils.generateTestData(output, 0);
             } finally {
@@ -1675,8 +1676,8 @@ public class FileUtilsTestCase {
                 throw new IOException("Cannot create file " + newFile
                         + " as the parent directory does not exist");
             }
-            final BufferedOutputStream output =
-                    new BufferedOutputStream(new FileOutputStream(newFile));
+            final OutputStream output =
+                    new 
BufferedOutputStream(Files.newOutputStream(newFile.toPath()));
             try {
                 TestUtils.generateTestData(output, 0);
             } finally {
@@ -1887,7 +1888,7 @@ public class FileUtilsTestCase {
         final WildcardFileFilter fileFilterAllDirs = new 
WildcardFileFilter("*");
         final WildcardFileFilter fileFilterExtTxt = new 
WildcardFileFilter("*.txt");
         try {
-            try (final BufferedOutputStream output = new 
BufferedOutputStream(new FileOutputStream(someFile))) {
+            try (final OutputStream output = new 
BufferedOutputStream(Files.newOutputStream(someFile.toPath()))) {
                 TestUtils.generateTestData(output, 100);
             }
             //
@@ -1933,7 +1934,7 @@ public class FileUtilsTestCase {
                 if (!theFile.getParentFile().exists()) {
                     throw new IOException("Cannot create file " + theFile + " 
as the parent directory does not exist");
                 }
-                final BufferedOutputStream output = new 
BufferedOutputStream(new FileOutputStream(theFile));
+                final BufferedOutputStream output = new 
BufferedOutputStream(Files.newOutputStream(theFile.toPath()));
                 try {
                     TestUtils.generateTestData(output, fileSizes[i]);
                 } finally {
@@ -1980,7 +1981,7 @@ public class FileUtilsTestCase {
             if (!someFile.getParentFile().exists()) {
                 throw new IOException("Cannot create file " + someFile + " as 
the parent directory does not exist");
             }
-            final BufferedOutputStream output = new BufferedOutputStream(new 
FileOutputStream(someFile));
+            final BufferedOutputStream output = new 
BufferedOutputStream(Files.newOutputStream(someFile.toPath()));
             try {
                 TestUtils.generateTestData(output, 100);
             } finally {
@@ -2023,8 +2024,8 @@ public class FileUtilsTestCase {
             throw new IOException("Cannot create file " + testFile
                     + " as the parent directory does not exist");
         }
-        final BufferedOutputStream output =
-                new BufferedOutputStream(new FileOutputStream(testFile));
+        final OutputStream output =
+                new 
BufferedOutputStream(Files.newOutputStream(testFile.toPath()));
         try {
             TestUtils.generateTestData(output, 0);
         } finally {
@@ -2060,8 +2061,8 @@ public class FileUtilsTestCase {
             throw new IOException("Cannot create file " + testFile
                     + " as the parent directory does not exist");
         }
-        final BufferedOutputStream output =
-                new BufferedOutputStream(new FileOutputStream(testFile));
+        final OutputStream output =
+                new 
BufferedOutputStream(Files.newOutputStream(testFile.toPath()));
         try {
             TestUtils.generateTestData(output, 0);
         } finally {
@@ -2091,8 +2092,8 @@ public class FileUtilsTestCase {
             throw new IOException("Cannot create file " + testFile
                     + " as the parent directory does not exist");
         }
-        final BufferedOutputStream output =
-                new BufferedOutputStream(new FileOutputStream(testFile));
+        final OutputStream output =
+                new 
BufferedOutputStream(Files.newOutputStream(testFile.toPath()));
         try {
             TestUtils.generateTestData(output, 0);
         } finally {
@@ -2124,8 +2125,8 @@ public class FileUtilsTestCase {
             throw new IOException("Cannot create file " + testFile
                     + " as the parent directory does not exist");
         }
-        final BufferedOutputStream output =
-                new BufferedOutputStream(new FileOutputStream(testFile));
+        final OutputStream output =
+                new 
BufferedOutputStream(Files.newOutputStream(testFile.toPath()));
         try {
             TestUtils.generateTestData(output, 0);
         } finally {
@@ -2158,7 +2159,7 @@ public class FileUtilsTestCase {
         if (!testFile1.getParentFile().exists()) {
             throw new IOException("Cannot create file " + testFile1 + " as the 
parent directory does not exist");
         }
-        final BufferedOutputStream output1 = new BufferedOutputStream(new 
FileOutputStream(testFile1));
+        final BufferedOutputStream output1 = new 
BufferedOutputStream(Files.newOutputStream(testFile1.toPath()));
         try {
             TestUtils.generateTestData(output1, 0);
         } finally {
@@ -2167,7 +2168,7 @@ public class FileUtilsTestCase {
         if (!testFile2.getParentFile().exists()) {
             throw new IOException("Cannot create file " + testFile2 + " as the 
parent directory does not exist");
         }
-        final BufferedOutputStream output = new BufferedOutputStream(new 
FileOutputStream(testFile2));
+        final BufferedOutputStream output = new 
BufferedOutputStream(Files.newOutputStream(testFile2.toPath()));
         try {
             TestUtils.generateTestData(output, 0);
         } finally {
@@ -2314,7 +2315,7 @@ public class FileUtilsTestCase {
                     + " as the parent directory does not exist");
         }
         final BufferedOutputStream output1 =
-                new BufferedOutputStream(new FileOutputStream(testSourceFile));
+                new 
BufferedOutputStream(Files.newOutputStream(testSourceFile.toPath()));
         try {
             TestUtils.generateTestData(output1, 0);
         } finally {
@@ -2325,7 +2326,7 @@ public class FileUtilsTestCase {
                     + " as the parent directory does not exist");
         }
         final BufferedOutputStream output =
-                new BufferedOutputStream(new FileOutputStream(testDestFile));
+                new 
BufferedOutputStream(Files.newOutputStream(testDestFile.toPath()));
         try {
             TestUtils.generateTestData(output, 0);
         } finally {
@@ -2371,7 +2372,7 @@ public class FileUtilsTestCase {
                     + " as the parent directory does not exist");
         }
         final BufferedOutputStream output1 =
-                new BufferedOutputStream(new FileOutputStream(testFile1));
+                new 
BufferedOutputStream(Files.newOutputStream(testFile1.toPath()));
         try {
             TestUtils.generateTestData(output1, 0);
         } finally {
@@ -2382,7 +2383,7 @@ public class FileUtilsTestCase {
                     + " as the parent directory does not exist");
         }
         final BufferedOutputStream output =
-                new BufferedOutputStream(new FileOutputStream(testFile2));
+                new 
BufferedOutputStream(Files.newOutputStream(testFile2.toPath()));
         try {
             TestUtils.generateTestData(output, 0);
         } finally {
@@ -2410,7 +2411,7 @@ public class FileUtilsTestCase {
                     + " as the parent directory does not exist");
         }
         final BufferedOutputStream output =
-                new BufferedOutputStream(new FileOutputStream(testFile));
+                new 
BufferedOutputStream(Files.newOutputStream(testFile.toPath()));
         try {
             TestUtils.generateTestData(output, 0);
         } finally {
@@ -2460,7 +2461,7 @@ public class FileUtilsTestCase {
     @Test
     public void testReadFileToByteArray() throws Exception {
         final File file = new File(temporaryFolder, "read.txt");
-        final FileOutputStream out = new FileOutputStream(file);
+        final OutputStream out = Files.newOutputStream(file.toPath());
         out.write(11);
         out.write(21);
         out.write(31);
@@ -2476,7 +2477,7 @@ public class FileUtilsTestCase {
     @Test
     public void testReadFileToStringWithDefaultEncoding() throws Exception {
         final File file = new File(temporaryFolder, "read.obj");
-        final FileOutputStream out = new FileOutputStream(file);
+        final OutputStream out = Files.newOutputStream(file.toPath());
         final byte[] text = "Hello /u1234".getBytes();
         out.write(text);
         out.close();
@@ -2488,7 +2489,7 @@ public class FileUtilsTestCase {
     @Test
     public void testReadFileToStringWithEncoding() throws Exception {
         final File file = new File(temporaryFolder, "read.obj");
-        final FileOutputStream out = new FileOutputStream(file);
+        final OutputStream out = Files.newOutputStream(file.toPath());
         final byte[] text = "Hello /u1234".getBytes(StandardCharsets.UTF_8);
         out.write(text);
         out.close();
@@ -2650,8 +2651,8 @@ public class FileUtilsTestCase {
             throw new IOException("Cannot create file " + nonEmptyFile
                     + " as the parent directory does not exist");
         }
-        final BufferedOutputStream output =
-                new BufferedOutputStream(new FileOutputStream(nonEmptyFile));
+        final OutputStream output =
+                new 
BufferedOutputStream(Files.newOutputStream(nonEmptyFile.toPath()));
         try {
             TestUtils.generateTestData(output, 
TEST_DIRECTORY_SIZE_GT_ZERO_BI.longValue());
         } finally {
@@ -2773,7 +2774,7 @@ public class FileUtilsTestCase {
         assertFalse(file.exists(), "Bad test: test file still exists");
         FileUtils.touch(file);
         assertTrue(file.exists(), "FileUtils.touch() created file");
-        final FileOutputStream out = new FileOutputStream(file);
+        final OutputStream out = Files.newOutputStream(file.toPath());
         assertEquals(0, file.length(), "Created empty file.");
         out.write(0);
         out.close();
diff --git a/src/test/java/org/apache/commons/io/FilenameUtilsTestCase.java 
b/src/test/java/org/apache/commons/io/FilenameUtilsTestCase.java
index f3ac31b..0f9c01e 100644
--- a/src/test/java/org/apache/commons/io/FilenameUtilsTestCase.java
+++ b/src/test/java/org/apache/commons/io/FilenameUtilsTestCase.java
@@ -25,8 +25,8 @@ import static org.junit.jupiter.api.Assertions.fail;
 
 import java.io.BufferedOutputStream;
 import java.io.File;
-import java.io.FileOutputStream;
 import java.io.IOException;
+import java.nio.file.Files;
 import java.util.ArrayList;
 import java.util.Arrays;
 import java.util.Collection;
@@ -68,7 +68,7 @@ public class FilenameUtilsTestCase {
                     + " as the parent directory does not exist");
         }
         try (final BufferedOutputStream output3 =
-                new BufferedOutputStream(new FileOutputStream(testFile1))) {
+                new 
BufferedOutputStream(Files.newOutputStream(testFile1.toPath()))) {
             TestUtils.generateTestData(output3, testFile1Size);
         }
         if (!testFile2.getParentFile().exists()) {
@@ -76,7 +76,7 @@ public class FilenameUtilsTestCase {
                     + " as the parent directory does not exist");
         }
         try (final BufferedOutputStream output2 =
-                new BufferedOutputStream(new FileOutputStream(testFile2))) {
+                new 
BufferedOutputStream(Files.newOutputStream(testFile2.toPath()))) {
             TestUtils.generateTestData(output2, testFile2Size);
         }
         if (!testFile1.getParentFile().exists()) {
@@ -84,7 +84,7 @@ public class FilenameUtilsTestCase {
                     + " as the parent directory does not exist");
         }
         try (final BufferedOutputStream output1 =
-                new BufferedOutputStream(new FileOutputStream(testFile1))) {
+                new 
BufferedOutputStream(Files.newOutputStream(testFile1.toPath()))) {
             TestUtils.generateTestData(output1, testFile1Size);
         }
         if (!testFile2.getParentFile().exists()) {
@@ -92,7 +92,7 @@ public class FilenameUtilsTestCase {
                     + " as the parent directory does not exist");
         }
         try (final BufferedOutputStream output =
-                new BufferedOutputStream(new FileOutputStream(testFile2))) {
+                new 
BufferedOutputStream(Files.newOutputStream(testFile2.toPath()))) {
             TestUtils.generateTestData(output, testFile2Size);
         }
     }
diff --git a/src/test/java/org/apache/commons/io/IOUtilsTestCase.java 
b/src/test/java/org/apache/commons/io/IOUtilsTestCase.java
index 59f46a3..cff295c 100644
--- a/src/test/java/org/apache/commons/io/IOUtilsTestCase.java
+++ b/src/test/java/org/apache/commons/io/IOUtilsTestCase.java
@@ -39,9 +39,6 @@ import java.io.Closeable;
 import java.io.EOFException;
 import java.io.File;
 import java.io.FileInputStream;
-import java.io.FileOutputStream;
-import java.io.FileReader;
-import java.io.FileWriter;
 import java.io.IOException;
 import java.io.InputStream;
 import java.io.InputStreamReader;
@@ -58,6 +55,8 @@ import java.nio.ByteBuffer;
 import java.nio.channels.FileChannel;
 import java.nio.channels.Selector;
 import java.nio.charset.StandardCharsets;
+import java.nio.file.Files;
+import java.nio.file.Path;
 import java.util.Arrays;
 import java.util.List;
 
@@ -107,6 +106,11 @@ public class IOUtilsTestCase {
 
     private File testFile;
 
+    /**
+     * Path constructed from {@code testFile}.
+     */
+    private Path testFilePath;
+
     /** Assert that the contents of two byte arrays are the same. */
     private void assertEqualContent(final byte[] b0, final byte[] b1) {
         assertArrayEquals(b0, b1, "Content not equal according to 
java.util.Arrays#equals()");
@@ -116,11 +120,12 @@ public class IOUtilsTestCase {
     public void setUp() {
         try {
             testFile = new File(temporaryFolder, "file2-test.txt");
+            testFilePath = testFile.toPath();
 
             if (!testFile.getParentFile().exists()) {
                 throw new IOException("Cannot create file " + testFile + " as 
the parent directory does not exist");
             }
-            final BufferedOutputStream output = new BufferedOutputStream(new 
FileOutputStream(testFile));
+            final BufferedOutputStream output = new 
BufferedOutputStream(Files.newOutputStream(testFilePath));
             try {
                 TestUtils.generateTestData(output, FILE_SIZE);
             } finally {
@@ -639,12 +644,12 @@ public class IOUtilsTestCase {
     public void testCopy_ByteArray_OutputStream() throws Exception {
         final File destination = TestUtils.newFile(temporaryFolder, 
"copy8.txt");
         byte[] in;
-        try (FileInputStream fin = new FileInputStream(testFile)) {
+        try (InputStream fin = Files.newInputStream(testFilePath)) {
             // Create our byte[]. Rely on testInputStreamToByteArray() to make 
sure this is valid.
             in = IOUtils.toByteArray(fin);
         }
 
-        try (FileOutputStream fout = new FileOutputStream(destination)) {
+        try (OutputStream fout = Files.newOutputStream(destination.toPath())) {
             CopyUtils.copy(in, fout);
 
             fout.flush();
@@ -659,12 +664,12 @@ public class IOUtilsTestCase {
     public void testCopy_ByteArray_Writer() throws Exception {
         final File destination = TestUtils.newFile(temporaryFolder, 
"copy7.txt");
         byte[] in;
-        try (FileInputStream fin = new FileInputStream(testFile)) {
+        try (InputStream fin = Files.newInputStream(testFilePath)) {
             // Create our byte[]. Rely on testInputStreamToByteArray() to make 
sure this is valid.
             in = IOUtils.toByteArray(fin);
         }
 
-        try (FileWriter fout = new FileWriter(destination)) {
+        try (Writer fout = Files.newBufferedWriter(destination.toPath())) {
             CopyUtils.copy(in, fout);
             fout.flush();
             TestUtils.checkFile(destination, testFile);
@@ -677,12 +682,12 @@ public class IOUtilsTestCase {
     public void testCopy_String_Writer() throws Exception {
         final File destination = TestUtils.newFile(temporaryFolder, 
"copy6.txt");
         String str;
-        try (FileReader fin = new FileReader(testFile)) {
+        try (Reader fin = Files.newBufferedReader(testFilePath)) {
             // Create our String. Rely on testReaderToString() to make sure 
this is valid.
             str = IOUtils.toString(fin);
         }
 
-        try (FileWriter fout = new FileWriter(destination)) {
+        try (Writer fout = Files.newBufferedWriter(destination.toPath())) {
             CopyUtils.copy(str, fout);
             fout.flush();
 
@@ -1047,7 +1052,7 @@ public class IOUtilsTestCase {
             final String[] data = {"hello", "world", "", "this is", "some 
text"};
             TestUtils.createLineBasedFile(file, data);
 
-            in = new FileInputStream(file);
+            in = Files.newInputStream(file.toPath());
             final List<String> lines = IOUtils.readLines(in);
             assertEquals(Arrays.asList(data), lines);
             assertEquals(-1, in.read());
@@ -1065,7 +1070,7 @@ public class IOUtilsTestCase {
             final String[] data = {"hello", "/u1234", "", "this is", "some 
text"};
             TestUtils.createLineBasedFile(file, data);
 
-            in = new FileInputStream(file);
+            in = Files.newInputStream(file.toPath());
             final List<String> lines = IOUtils.readLines(in, "UTF-8");
             assertEquals(Arrays.asList(data), lines);
             assertEquals(-1, in.read());
@@ -1083,7 +1088,7 @@ public class IOUtilsTestCase {
             final String[] data = {"hello", "/u1234", "", "this is", "some 
text"};
             TestUtils.createLineBasedFile(file, data);
 
-            in = new InputStreamReader(new FileInputStream(file));
+            in = new InputStreamReader(Files.newInputStream(file.toPath()));
             final List<String> lines = IOUtils.readLines(in);
             assertEquals(Arrays.asList(data), lines);
             assertEquals(-1, in.read());
@@ -1280,7 +1285,7 @@ public class IOUtilsTestCase {
 
     @Test
     public void testSkip_FileReader() throws Exception {
-        try (FileReader in = new FileReader(testFile)) {
+        try (Reader in = Files.newBufferedReader(testFilePath)) {
             assertEquals(FILE_SIZE - 10, IOUtils.skip(in, FILE_SIZE - 10));
             assertEquals(10, IOUtils.skip(in, 20));
             assertEquals(0, IOUtils.skip(in, 10));
@@ -1289,7 +1294,7 @@ public class IOUtilsTestCase {
 
     @Test
     public void testSkip_InputStream() throws Exception {
-        try (InputStream in = new FileInputStream(testFile)) {
+        try (InputStream in = Files.newInputStream(testFilePath)) {
             assertEquals(FILE_SIZE - 10, IOUtils.skip(in, FILE_SIZE - 10));
             assertEquals(10, IOUtils.skip(in, 20));
             assertEquals(0, IOUtils.skip(in, 10));
@@ -1382,12 +1387,12 @@ public class IOUtilsTestCase {
     public void testStringToOutputStream() throws Exception {
         final File destination = TestUtils.newFile(temporaryFolder, 
"copy5.txt");
         String str;
-        try (FileReader fin = new FileReader(testFile)) {
+        try (Reader fin = Files.newBufferedReader(testFilePath)) {
             // Create our String. Rely on testReaderToString() to make sure 
this is valid.
             str = IOUtils.toString(fin);
         }
 
-        try (FileOutputStream fout = new FileOutputStream(destination)) {
+        try (OutputStream fout = Files.newOutputStream(destination.toPath())) {
             CopyUtils.copy(str, fout);
             // Note: this method *does* flush. It is equivalent to:
             // OutputStreamWriter _out = new OutputStreamWriter(fout);
@@ -1404,7 +1409,7 @@ public class IOUtilsTestCase {
 
     @Test
     public void testToBufferedInputStream_InputStream() throws Exception {
-        try (FileInputStream fin = new FileInputStream(testFile)) {
+        try (InputStream fin = Files.newInputStream(testFilePath)) {
             final InputStream in = IOUtils.toBufferedInputStream(fin);
             final byte[] out = IOUtils.toByteArray(in);
             assertNotNull(out);
@@ -1416,7 +1421,7 @@ public class IOUtilsTestCase {
 
     @Test
     public void testToBufferedInputStreamWithBufferSize_InputStream() throws 
Exception {
-        try (FileInputStream fin = new FileInputStream(testFile)) {
+        try (InputStream fin = Files.newInputStream(testFilePath)) {
             final InputStream in = IOUtils.toBufferedInputStream(fin, 2048);
             final byte[] out = IOUtils.toByteArray(in);
             assertNotNull(out);
@@ -1428,7 +1433,7 @@ public class IOUtilsTestCase {
 
     @Test
     public void testToByteArray_InputStream() throws Exception {
-        try (FileInputStream fin = new FileInputStream(testFile)) {
+        try (InputStream fin = Files.newInputStream(testFilePath)) {
             final byte[] out = IOUtils.toByteArray(fin);
             assertNotNull(out);
             assertEquals(0, fin.available(), "Not all bytes were read");
@@ -1447,7 +1452,7 @@ public class IOUtilsTestCase {
     @Test
     public void testToByteArray_InputStream_NegativeSize() throws Exception {
 
-        try (FileInputStream fin = new FileInputStream(testFile)) {
+        try (InputStream fin = Files.newInputStream(testFilePath)) {
             IOUtils.toByteArray(fin, -1);
             fail("IllegalArgumentException expected");
         } catch (final IllegalArgumentException exc) {
@@ -1459,7 +1464,7 @@ public class IOUtilsTestCase {
 
     @Test
     public void testToByteArray_InputStream_Size() throws Exception {
-        try (FileInputStream fin = new FileInputStream(testFile)) {
+        try (InputStream fin = Files.newInputStream(testFilePath)) {
             final byte[] out = IOUtils.toByteArray(fin, testFile.length());
             assertNotNull(out);
             assertEquals(0, fin.available(), "Not all bytes were read");
@@ -1471,7 +1476,7 @@ public class IOUtilsTestCase {
     @Test
     public void testToByteArray_InputStream_SizeIllegal() throws Exception {
 
-        try (FileInputStream fin = new FileInputStream(testFile)) {
+        try (InputStream fin = Files.newInputStream(testFilePath)) {
             IOUtils.toByteArray(fin, testFile.length() + 1);
             fail("IOException expected");
         } catch (final IOException exc) {
@@ -1484,7 +1489,7 @@ public class IOUtilsTestCase {
     @Test
     public void testToByteArray_InputStream_SizeLong() throws Exception {
 
-        try (FileInputStream fin = new FileInputStream(testFile)) {
+        try (InputStream fin = Files.newInputStream(testFilePath)) {
             IOUtils.toByteArray(fin, (long) Integer.MAX_VALUE + 1);
             fail("IOException expected");
         } catch (final IllegalArgumentException exc) {
@@ -1497,7 +1502,7 @@ public class IOUtilsTestCase {
     @Test
     public void testToByteArray_InputStream_SizeZero() throws Exception {
 
-        try (FileInputStream fin = new FileInputStream(testFile)) {
+        try (InputStream fin =Files.newInputStream(testFilePath)) {
             final byte[] out = IOUtils.toByteArray(fin, 0);
             assertNotNull(out, "Out cannot be null");
             assertEquals(0, out.length, "Out length must be 0");
@@ -1507,7 +1512,7 @@ public class IOUtilsTestCase {
     @Test
     public void testToByteArray_InputStream_SizeOne() throws Exception {
 
-        try (FileInputStream fin = new FileInputStream(testFile)) {
+        try (InputStream fin = Files.newInputStream(testFilePath)) {
             final byte[] out = IOUtils.toByteArray(fin, 1);
             assertNotNull(out, "Out cannot be null");
             assertEquals(1, out.length, "Out length must be 1");
@@ -1526,7 +1531,7 @@ public class IOUtilsTestCase {
 
     @Test
     public void testToByteArray_String() throws Exception {
-        try (FileReader fin = new FileReader(testFile)) {
+        try (Reader fin = Files.newBufferedReader(testFilePath)) {
             // Create our String. Rely on testReaderToString() to make sure 
this is valid.
             final String str = IOUtils.toString(fin);
 
@@ -1563,7 +1568,7 @@ public class IOUtilsTestCase {
 
     @Test
     public void testToCharArray_InputStream() throws Exception {
-        try (FileInputStream fin = new FileInputStream(testFile)) {
+        try (InputStream fin = Files.newInputStream(testFilePath)) {
             final char[] out = IOUtils.toCharArray(fin);
             assertNotNull(out);
             assertEquals(0, fin.available(), "Not all chars were read");
@@ -1574,7 +1579,7 @@ public class IOUtilsTestCase {
 
     @Test
     public void testToCharArray_InputStream_CharsetName() throws Exception {
-        try (FileInputStream fin = new FileInputStream(testFile)) {
+        try (InputStream fin = Files.newInputStream(testFilePath)) {
             final char[] out = IOUtils.toCharArray(fin, "UTF-8");
             assertNotNull(out);
             assertEquals(0, fin.available(), "Not all chars were read");
@@ -1585,7 +1590,7 @@ public class IOUtilsTestCase {
 
     @Test
     public void testToCharArray_Reader() throws Exception {
-        try (FileReader fr = new FileReader(testFile)) {
+        try (Reader fr = Files.newBufferedReader(testFilePath)) {
             final char[] out = IOUtils.toCharArray(fr);
             assertNotNull(out);
             assertEquals(FILE_SIZE, out.length, "Wrong output size");
@@ -1637,7 +1642,7 @@ public class IOUtilsTestCase {
 
     @Test
     public void testToString_ByteArray() throws Exception {
-        try (FileInputStream fin = new FileInputStream(testFile)) {
+        try (InputStream fin = Files.newInputStream(testFilePath)) {
             final byte[] in = IOUtils.toByteArray(fin);
             // Create our byte[]. Rely on testInputStreamToByteArray() to make 
sure this is valid.
             final String str = IOUtils.toString(in);
@@ -1647,7 +1652,7 @@ public class IOUtilsTestCase {
 
     @Test
     public void testToString_InputStream() throws Exception {
-        try (FileInputStream fin = new FileInputStream(testFile)) {
+        try (InputStream fin = Files.newInputStream(testFilePath)) {
             final String out = IOUtils.toString(fin);
             assertNotNull(out);
             assertEquals(0, fin.available(), "Not all bytes were read");
@@ -1657,7 +1662,7 @@ public class IOUtilsTestCase {
 
     @Test
     public void testToString_Reader() throws Exception {
-        try (FileReader fin = new FileReader(testFile)) {
+        try (Reader fin = Files.newBufferedReader(testFilePath)) {
             final String out = IOUtils.toString(fin);
             assertNotNull(out);
             assertEquals(FILE_SIZE, out.length(), "Wrong output size");
diff --git a/src/test/java/org/apache/commons/io/LineIteratorTestCase.java 
b/src/test/java/org/apache/commons/io/LineIteratorTestCase.java
index a362bb4..4c5ec33 100644
--- a/src/test/java/org/apache/commons/io/LineIteratorTestCase.java
+++ b/src/test/java/org/apache/commons/io/LineIteratorTestCase.java
@@ -26,11 +26,11 @@ import static org.junit.jupiter.api.Assertions.fail;
 import java.io.BufferedReader;
 import java.io.File;
 import java.io.FileNotFoundException;
-import java.io.FileReader;
 import java.io.IOException;
 import java.io.Reader;
 import java.io.StringReader;
 import java.nio.charset.UnsupportedCharsetException;
+import java.nio.file.Files;
 import java.util.ArrayList;
 import java.util.List;
 import java.util.NoSuchElementException;
@@ -357,7 +357,7 @@ public class LineIteratorTestCase {
         final File testFile = new File(temporaryFolder, fileName);
         final List<String> lines = createLinesFile(testFile, encoding, 9);
 
-        final Reader reader = new FileReader(testFile);
+        final Reader reader = Files.newBufferedReader(testFile.toPath());
         this.testFiltering(lines, reader);
     }
 
@@ -369,7 +369,7 @@ public class LineIteratorTestCase {
         final File testFile = new File(temporaryFolder, fileName);
         final List<String> lines = createLinesFile(testFile, encoding, 9);
 
-        final Reader reader = new BufferedReader(new FileReader(testFile));
+        final Reader reader = new 
BufferedReader(Files.newBufferedReader(testFile.toPath()));
         this.testFiltering(lines, reader);
     }
 
diff --git 
a/src/test/java/org/apache/commons/io/comparator/CompositeFileComparatorTest.java
 
b/src/test/java/org/apache/commons/io/comparator/CompositeFileComparatorTest.java
index 83a718c..7ba7283 100644
--- 
a/src/test/java/org/apache/commons/io/comparator/CompositeFileComparatorTest.java
+++ 
b/src/test/java/org/apache/commons/io/comparator/CompositeFileComparatorTest.java
@@ -21,8 +21,8 @@ import static org.junit.jupiter.api.Assertions.assertTrue;
 
 import java.io.BufferedOutputStream;
 import java.io.File;
-import java.io.FileOutputStream;
 import java.io.IOException;
+import java.nio.file.Files;
 import java.util.ArrayList;
 import java.util.Comparator;
 import java.util.List;
@@ -51,7 +51,7 @@ public class CompositeFileComparatorTest extends 
ComparatorAbstractTestCase {
         }
 
         try (final BufferedOutputStream output3 =
-                new BufferedOutputStream(new FileOutputStream(lessFile))) {
+                new 
BufferedOutputStream(Files.newOutputStream(lessFile.toPath()))) {
             TestUtils.generateTestData(output3, 32);
         }
         if (!equalFile1.getParentFile().exists()) {
@@ -59,7 +59,7 @@ public class CompositeFileComparatorTest extends 
ComparatorAbstractTestCase {
                     + " as the parent directory does not exist");
         }
         try (final BufferedOutputStream output2 =
-                new BufferedOutputStream(new FileOutputStream(equalFile1))) {
+                new 
BufferedOutputStream(Files.newOutputStream(equalFile1.toPath()))) {
             TestUtils.generateTestData(output2, 48);
         }
         if (!equalFile2.getParentFile().exists()) {
@@ -67,7 +67,7 @@ public class CompositeFileComparatorTest extends 
ComparatorAbstractTestCase {
                     + " as the parent directory does not exist");
         }
         try (final BufferedOutputStream output1 =
-                new BufferedOutputStream(new FileOutputStream(equalFile2))) {
+                new 
BufferedOutputStream(Files.newOutputStream(equalFile2.toPath()))) {
             TestUtils.generateTestData(output1, 48);
         }
         if (!moreFile.getParentFile().exists()) {
@@ -75,7 +75,7 @@ public class CompositeFileComparatorTest extends 
ComparatorAbstractTestCase {
                     + " as the parent directory does not exist");
         }
         try (final BufferedOutputStream output =
-                new BufferedOutputStream(new FileOutputStream(moreFile))) {
+                new 
BufferedOutputStream(Files.newOutputStream(moreFile.toPath()))) {
             TestUtils.generateTestData(output, 48);
         }
     }
diff --git 
a/src/test/java/org/apache/commons/io/comparator/LastModifiedFileComparatorTest.java
 
b/src/test/java/org/apache/commons/io/comparator/LastModifiedFileComparatorTest.java
index c595f47..2ad6fce 100644
--- 
a/src/test/java/org/apache/commons/io/comparator/LastModifiedFileComparatorTest.java
+++ 
b/src/test/java/org/apache/commons/io/comparator/LastModifiedFileComparatorTest.java
@@ -18,8 +18,8 @@ package org.apache.commons.io.comparator;
 
 import java.io.BufferedOutputStream;
 import java.io.File;
-import java.io.FileOutputStream;
 import java.io.IOException;
+import java.nio.file.Files;
 
 import org.apache.commons.io.FileUtils;
 import org.apache.commons.io.test.TestUtils;
@@ -38,7 +38,7 @@ public class LastModifiedFileComparatorTest extends 
ComparatorAbstractTestCase {
         if (!olderFile.getParentFile().exists()) {
             throw new IOException("Cannot create file " + olderFile + " as the 
parent directory does not exist");
         }
-        try (final BufferedOutputStream output2 = new BufferedOutputStream(new 
FileOutputStream(olderFile))) {
+        try (final BufferedOutputStream output2 = new 
BufferedOutputStream(Files.newOutputStream(olderFile.toPath()))) {
             TestUtils.generateTestData(output2, 0);
         }
 
@@ -46,7 +46,7 @@ public class LastModifiedFileComparatorTest extends 
ComparatorAbstractTestCase {
         if (!equalFile.getParentFile().exists()) {
             throw new IOException("Cannot create file " + equalFile + " as the 
parent directory does not exist");
         }
-        try (final BufferedOutputStream output1 = new BufferedOutputStream(new 
FileOutputStream(equalFile))) {
+        try (final BufferedOutputStream output1 = new 
BufferedOutputStream(Files.newOutputStream(equalFile.toPath()))) {
             TestUtils.generateTestData(output1, 0);
         }
         do {
@@ -58,7 +58,7 @@ public class LastModifiedFileComparatorTest extends 
ComparatorAbstractTestCase {
         if (!newerFile.getParentFile().exists()) {
             throw new IOException("Cannot create file " + newerFile + " as the 
parent directory does not exist");
         }
-        try (final BufferedOutputStream output = new BufferedOutputStream(new 
FileOutputStream(newerFile))) {
+        try (final BufferedOutputStream output = new 
BufferedOutputStream(Files.newOutputStream(newerFile.toPath()))) {
             TestUtils.generateTestData(output, 0);
         }
         do {
diff --git 
a/src/test/java/org/apache/commons/io/comparator/SizeFileComparatorTest.java 
b/src/test/java/org/apache/commons/io/comparator/SizeFileComparatorTest.java
index d096c52..8f43f8e 100644
--- a/src/test/java/org/apache/commons/io/comparator/SizeFileComparatorTest.java
+++ b/src/test/java/org/apache/commons/io/comparator/SizeFileComparatorTest.java
@@ -22,8 +22,8 @@ import static org.junit.jupiter.api.Assertions.assertTrue;
 
 import java.io.BufferedOutputStream;
 import java.io.File;
-import java.io.FileOutputStream;
 import java.io.IOException;
+import java.nio.file.Files;
 
 import org.apache.commons.io.test.TestUtils;
 import org.junit.jupiter.api.BeforeEach;
@@ -55,7 +55,7 @@ public class SizeFileComparatorTest extends 
ComparatorAbstractTestCase {
                     + " as the parent directory does not exist");
         }
         try (final BufferedOutputStream output2 =
-                new BufferedOutputStream(new FileOutputStream(smallerFile))) {
+                new 
BufferedOutputStream(Files.newOutputStream(smallerFile.toPath()))) {
             TestUtils.generateTestData(output2, 32);
         }
         if (!equalFile.getParentFile().exists()) {
@@ -63,7 +63,7 @@ public class SizeFileComparatorTest extends 
ComparatorAbstractTestCase {
                     + " as the parent directory does not exist");
         }
         try (final BufferedOutputStream output1 =
-                new BufferedOutputStream(new FileOutputStream(equalFile))) {
+                new 
BufferedOutputStream(Files.newOutputStream(equalFile.toPath()))) {
             TestUtils.generateTestData(output1, 48);
         }
         if (!largerFile.getParentFile().exists()) {
@@ -71,7 +71,7 @@ public class SizeFileComparatorTest extends 
ComparatorAbstractTestCase {
                     + " as the parent directory does not exist");
         }
         try (final BufferedOutputStream output =
-                new BufferedOutputStream(new FileOutputStream(largerFile))) {
+                new 
BufferedOutputStream(Files.newOutputStream(largerFile.toPath()))) {
             TestUtils.generateTestData(output, 64);
         }
         equalFile1 = equalFile;
diff --git 
a/src/test/java/org/apache/commons/io/filefilter/FileFilterTestCase.java 
b/src/test/java/org/apache/commons/io/filefilter/FileFilterTestCase.java
index aebdf27..13fe707 100644
--- a/src/test/java/org/apache/commons/io/filefilter/FileFilterTestCase.java
+++ b/src/test/java/org/apache/commons/io/filefilter/FileFilterTestCase.java
@@ -28,7 +28,6 @@ import static org.junit.jupiter.api.Assumptions.assumeTrue;
 import java.io.BufferedOutputStream;
 import java.io.File;
 import java.io.FileFilter;
-import java.io.FileOutputStream;
 import java.io.FilenameFilter;
 import java.io.IOException;
 import java.io.OutputStream;
@@ -206,7 +205,7 @@ public class FileFilterTestCase {
         if (!oldFile.getParentFile().exists()) {
             fail("Cannot create file " + oldFile + " as the parent directory 
does not exist");
         }
-        try (final BufferedOutputStream output1 = new BufferedOutputStream(new 
FileOutputStream(oldFile))) {
+        try (final BufferedOutputStream output1 = new 
BufferedOutputStream(Files.newOutputStream(oldFile.toPath()))) {
             TestUtils.generateTestData(output1, 0);
         }
 
@@ -219,7 +218,7 @@ public class FileFilterTestCase {
             if (!reference.getParentFile().exists()) {
                 fail("Cannot create file " + reference + " as the parent 
directory does not exist");
             }
-            try (final BufferedOutputStream output = new 
BufferedOutputStream(new FileOutputStream(reference))) {
+            try (final BufferedOutputStream output = new 
BufferedOutputStream(Files.newOutputStream(reference.toPath()))) {
                 TestUtils.generateTestData(output, 0);
             }
         } while (equalsLastModified(oldFile, reference));
@@ -236,7 +235,7 @@ public class FileFilterTestCase {
             if (!newFile.getParentFile().exists()) {
                 fail("Cannot create file " + newFile + " as the parent 
directory does not exist");
             }
-            try (final BufferedOutputStream output = new 
BufferedOutputStream(new FileOutputStream(newFile))) {
+            try (final BufferedOutputStream output = new 
BufferedOutputStream(Files.newOutputStream(newFile.toPath()))) {
                 TestUtils.generateTestData(output, 0);
             }
         } while (equalsLastModified(reference, newFile));
@@ -338,7 +337,7 @@ public class FileFilterTestCase {
         final File executableFile = 
File.createTempFile(getClass().getSimpleName(), ".temp");
         final Path executablePath = executableFile.toPath();
         try {
-            try (final BufferedOutputStream output = new 
BufferedOutputStream(new FileOutputStream(executableFile))) {
+            try (final BufferedOutputStream output = new 
BufferedOutputStream(Files.newOutputStream(executableFile.toPath()))) {
                 TestUtils.generateTestData(output, 32);
             }
             assertTrue(executableFile.setExecutable(true));
@@ -359,7 +358,7 @@ public class FileFilterTestCase {
         if (!readOnlyFile.getParentFile().exists()) {
             fail("Cannot create file " + readOnlyFile + " as the parent 
directory does not exist");
         }
-        try (final BufferedOutputStream output = new BufferedOutputStream(new 
FileOutputStream(readOnlyFile))) {
+        try (final BufferedOutputStream output = new 
BufferedOutputStream(Files.newOutputStream(readOnlyFile.toPath()))) {
             TestUtils.generateTestData(output, 32);
         }
         assertTrue(readOnlyFile.setReadOnly());
@@ -379,7 +378,7 @@ public class FileFilterTestCase {
         if (!readOnlyFile.getParentFile().exists()) {
             fail("Cannot create file " + readOnlyFile + " as the parent 
directory does not exist");
         }
-        try (final BufferedOutputStream output = new BufferedOutputStream(new 
FileOutputStream(readOnlyFile))) {
+        try (final BufferedOutputStream output = new 
BufferedOutputStream(Files.newOutputStream(readOnlyFile.toPath()))) {
             TestUtils.generateTestData(output, 32);
         }
         assertTrue(readOnlyFile.setReadOnly());
@@ -559,7 +558,7 @@ public class FileFilterTestCase {
         if (!emptyFile.getParentFile().exists()) {
             fail("Cannot create file " + emptyFile + " as the parent directory 
does not exist");
         }
-        try (final BufferedOutputStream output1 = new BufferedOutputStream(new 
FileOutputStream(emptyFile))) {
+        try (final BufferedOutputStream output1 = new 
BufferedOutputStream(Files.newOutputStream(emptyFile.toPath()))) {
             TestUtils.generateTestData(output1, 0);
         }
         assertFiltering(EmptyFileFilter.EMPTY, emptyFile, true);
@@ -579,7 +578,7 @@ public class FileFilterTestCase {
         if (!notEmptyFile.getParentFile().exists()) {
             fail("Cannot create file " + notEmptyFile + " as the parent 
directory does not exist");
         }
-        try (final BufferedOutputStream output = new BufferedOutputStream(new 
FileOutputStream(notEmptyFile))) {
+        try (final BufferedOutputStream output = new 
BufferedOutputStream(Files.newOutputStream(notEmptyFile.toPath()))) {
             TestUtils.generateTestData(output, 32);
         }
         assertFiltering(EmptyFileFilter.EMPTY, notEmptyFile, false);
@@ -969,7 +968,7 @@ public class FileFilterTestCase {
         if (!randomFileB.getParentFile().exists()) {
             fail("Cannot create file " + randomFileB + " as the parent 
directory does not exist");
         }
-        try (final BufferedOutputStream output = new BufferedOutputStream(new 
FileOutputStream(randomFileB))) {
+        try (final BufferedOutputStream output = new 
BufferedOutputStream(Files.newOutputStream(randomFileB.toPath()))) {
             TestUtils.generateTestData(output, 2 * tarMagicNumberOffset);
         }
 
@@ -1037,7 +1036,7 @@ public class FileFilterTestCase {
         if (!randomFileB.getParentFile().exists()) {
             fail("Cannot create file " + randomFileB + " as the parent 
directory does not exist");
         }
-        try (final BufferedOutputStream output = new BufferedOutputStream(new 
FileOutputStream(randomFileB))) {
+        try (final BufferedOutputStream output = new 
BufferedOutputStream(Files.newOutputStream(randomFileB.toPath()))) {
             TestUtils.generateTestData(output, 2 * tarMagicNumberOffset);
         }
 
@@ -1109,7 +1108,7 @@ public class FileFilterTestCase {
         if (!file.getParentFile().exists()) {
             fail("Cannot create file " + file + " as the parent directory does 
not exist");
         }
-        try (final BufferedOutputStream output2 = new BufferedOutputStream(new 
FileOutputStream(file))) {
+        try (final BufferedOutputStream output2 = new 
BufferedOutputStream(Files.newOutputStream(file.toPath()))) {
             TestUtils.generateTestData(output2, 0);
         }
         assertFiltering(filter1, file, true);
@@ -1119,7 +1118,7 @@ public class FileFilterTestCase {
         if (!file.getParentFile().exists()) {
             fail("Cannot create file " + file + " as the parent directory does 
not exist");
         }
-        try (final BufferedOutputStream output1 = new BufferedOutputStream(new 
FileOutputStream(file))) {
+        try (final BufferedOutputStream output1 = new 
BufferedOutputStream(Files.newOutputStream(file.toPath()))) {
             TestUtils.generateTestData(output1, 0);
         }
         assertFiltering(filter1, file, true);
@@ -1129,7 +1128,7 @@ public class FileFilterTestCase {
         if (!file.getParentFile().exists()) {
             fail("Cannot create file " + file + " as the parent directory does 
not exist");
         }
-        try (final BufferedOutputStream output = new BufferedOutputStream(new 
FileOutputStream(file))) {
+        try (final BufferedOutputStream output = new 
BufferedOutputStream(Files.newOutputStream(file.toPath()))) {
             TestUtils.generateTestData(output, 0);
         }
         assertFiltering(filter1, file, true);
@@ -1158,13 +1157,13 @@ public class FileFilterTestCase {
         if (!fileA.getParentFile().exists()) {
             fail("Cannot create file " + fileA + " as the parent directory 
does not exist");
         }
-        try (final BufferedOutputStream output1 = new BufferedOutputStream(new 
FileOutputStream(fileA))) {
+        try (final BufferedOutputStream output1 = new 
BufferedOutputStream(Files.newOutputStream(fileA.toPath()))) {
             TestUtils.generateTestData(output1, 32);
         }
         if (!fileB.getParentFile().exists()) {
             fail("Cannot create file " + fileB + " as the parent directory 
does not exist");
         }
-        try (final BufferedOutputStream output = new BufferedOutputStream(new 
FileOutputStream(fileB))) {
+        try (final BufferedOutputStream output = new 
BufferedOutputStream(Files.newOutputStream(fileB.toPath()))) {
             TestUtils.generateTestData(output, 32);
         }
 
@@ -1197,13 +1196,13 @@ public class FileFilterTestCase {
         if (!fileA.getParentFile().exists()) {
             fail("Cannot create file " + fileA + " as the parent directory 
does not exist");
         }
-        try (final BufferedOutputStream output1 = new BufferedOutputStream(new 
FileOutputStream(fileA))) {
+        try (final BufferedOutputStream output1 = new 
BufferedOutputStream(Files.newOutputStream(fileA.toPath()))) {
             TestUtils.generateTestData(output1, 32);
         }
         if (!fileB.getParentFile().exists()) {
             fail("Cannot create file " + fileB + " as the parent directory 
does not exist");
         }
-        try (final BufferedOutputStream output = new BufferedOutputStream(new 
FileOutputStream(fileB))) {
+        try (final BufferedOutputStream output = new 
BufferedOutputStream(Files.newOutputStream(fileB.toPath()))) {
             TestUtils.generateTestData(output, 32);
         }
 
@@ -1229,7 +1228,7 @@ public class FileFilterTestCase {
         if (!file.getParentFile().exists()) {
             fail("Cannot create file " + file + " as the parent directory does 
not exist");
         }
-        try (final BufferedOutputStream output2 = new BufferedOutputStream(new 
FileOutputStream(file))) {
+        try (final BufferedOutputStream output2 = new 
BufferedOutputStream(Files.newOutputStream(file.toPath()))) {
             TestUtils.generateTestData(output2, 0);
         }
         assertFiltering(filter1, file, true);
@@ -1239,7 +1238,7 @@ public class FileFilterTestCase {
         if (!file.getParentFile().exists()) {
             fail("Cannot create file " + file + " as the parent directory does 
not exist");
         }
-        try (final BufferedOutputStream output1 = new BufferedOutputStream(new 
FileOutputStream(file))) {
+        try (final BufferedOutputStream output1 = new 
BufferedOutputStream(Files.newOutputStream(file.toPath()))) {
             TestUtils.generateTestData(output1, 0);
         }
         assertFiltering(filter1, file, true);
@@ -1249,7 +1248,7 @@ public class FileFilterTestCase {
         if (!file.getParentFile().exists()) {
             fail("Cannot create file " + file + " as the parent directory does 
not exist");
         }
-        try (final BufferedOutputStream output = new BufferedOutputStream(new 
FileOutputStream(file))) {
+        try (final BufferedOutputStream output = new 
BufferedOutputStream(Files.newOutputStream(file.toPath()))) {
             TestUtils.generateTestData(output, 0);
         }
         assertFiltering(filter1, file, true);
@@ -1497,14 +1496,14 @@ public class FileFilterTestCase {
         if (!smallFile.getParentFile().exists()) {
             fail("Cannot create file " + smallFile + " as the parent directory 
does not exist");
         }
-        try (final BufferedOutputStream output1 = new BufferedOutputStream(new 
FileOutputStream(smallFile))) {
+        try (final BufferedOutputStream output1 = new 
BufferedOutputStream(Files.newOutputStream(smallFile.toPath()))) {
             TestUtils.generateTestData(output1, 32);
         }
         final File largeFile = new File(temporaryFolder, "large.txt");
         if (!largeFile.getParentFile().exists()) {
             fail("Cannot create file " + largeFile + " as the parent directory 
does not exist");
         }
-        try (final BufferedOutputStream output = new BufferedOutputStream(new 
FileOutputStream(largeFile))) {
+        try (final BufferedOutputStream output = new 
BufferedOutputStream(Files.newOutputStream(largeFile.toPath()))) {
             TestUtils.generateTestData(output, 128);
         }
         final IOFileFilter filter1 = FileFilterUtils.sizeFileFilter(64);
diff --git a/src/test/java/org/apache/commons/io/input/BoundedReaderTest.java 
b/src/test/java/org/apache/commons/io/input/BoundedReaderTest.java
index 09acdde..e324682 100644
--- a/src/test/java/org/apache/commons/io/input/BoundedReaderTest.java
+++ b/src/test/java/org/apache/commons/io/input/BoundedReaderTest.java
@@ -24,7 +24,6 @@ import static org.junit.jupiter.api.Assertions.assertTrue;
 
 import java.io.BufferedReader;
 import java.io.File;
-import java.io.FileReader;
 import java.io.IOException;
 import java.io.LineNumberReader;
 import java.io.Reader;
@@ -222,7 +221,7 @@ public class BoundedReaderTest {
         try {
             final File file = path.toFile();
             FileUtils.write(file, data, StandardCharsets.ISO_8859_1);
-            try (FileReader source = new FileReader(file)) {
+            try (Reader source = Files.newBufferedReader(file.toPath())) {
                 testLineNumberReader(source);
             }
         } finally {
diff --git a/src/test/java/org/apache/commons/io/input/TailerTest.java 
b/src/test/java/org/apache/commons/io/input/TailerTest.java
index 268d514..713ff1b 100644
--- a/src/test/java/org/apache/commons/io/input/TailerTest.java
+++ b/src/test/java/org/apache/commons/io/input/TailerTest.java
@@ -26,10 +26,7 @@ import static org.junit.jupiter.api.Assertions.fail;
 import java.io.BufferedOutputStream;
 import java.io.BufferedReader;
 import java.io.File;
-import java.io.FileInputStream;
 import java.io.FileNotFoundException;
-import java.io.FileOutputStream;
-import java.io.FileWriter;
 import java.io.IOException;
 import java.io.InputStreamReader;
 import java.io.OutputStreamWriter;
@@ -37,6 +34,8 @@ import java.io.RandomAccessFile;
 import java.io.Writer;
 import java.nio.charset.Charset;
 import java.nio.charset.StandardCharsets;
+import java.nio.file.Files;
+import java.nio.file.StandardOpenOption;
 import java.util.ArrayList;
 import java.util.Collections;
 import java.util.List;
@@ -76,7 +75,7 @@ public class TailerTest {
 
         final File file = new File(temporaryFolder, "testLongFile.txt");
         createFile(file, 0);
-        try (final Writer writer = new FileWriter(file, true)) {
+        try (final Writer writer = Files.newBufferedWriter(file.toPath(), 
StandardOpenOption.APPEND)) {
             for (int i = 0; i < 100000; i++) {
                 writer.write("LineLineLineLineLineLineLineLineLineLine\n");
             }
@@ -139,8 +138,8 @@ public class TailerTest {
         final Thread thread = new Thread(tailer);
         thread.start();
 
-        try (Writer out = new OutputStreamWriter(new FileOutputStream(file), 
charsetUTF8);
-             BufferedReader reader = new BufferedReader(new 
InputStreamReader(new FileInputStream(origin), charsetUTF8))) {
+        try (Writer out = new 
OutputStreamWriter(Files.newOutputStream(file.toPath()), charsetUTF8);
+             BufferedReader reader = new BufferedReader(new 
InputStreamReader(Files.newInputStream(origin.toPath()), charsetUTF8))) {
             final List<String> lines = new ArrayList<>();
             String line;
             while((line = reader.readLine()) != null){
@@ -297,7 +296,7 @@ public class TailerTest {
                     + " as the parent directory does not exist");
         }
         try (final BufferedOutputStream output =
-                new BufferedOutputStream(new FileOutputStream(file))) {
+                new 
BufferedOutputStream(Files.newOutputStream(file.toPath()))) {
             TestUtils.generateTestData(output, size);
         }
 
@@ -327,7 +326,7 @@ public class TailerTest {
 
     /** Append some lines to a file */
     private void write(final File file, final String... lines) throws 
Exception {
-        try (FileWriter writer = new FileWriter(file, true)) {
+        try (Writer writer = Files.newBufferedWriter(file.toPath(), 
StandardOpenOption.APPEND)) {
             for (final String line : lines) {
                 writer.write(line + "\n");
             }
@@ -336,7 +335,7 @@ public class TailerTest {
 
     /** Append a string to a file */
     private void writeString(final File file, final String ... strings) throws 
Exception {
-        try (FileWriter writer = new FileWriter(file, true)) {
+        try (Writer writer = Files.newBufferedWriter(file.toPath(), 
StandardOpenOption.APPEND)) {
             for (final String string : strings) {
                 writer.write(string);
             }
diff --git 
a/src/test/java/org/apache/commons/io/input/compatibility/XmlStreamReader.java 
b/src/test/java/org/apache/commons/io/input/compatibility/XmlStreamReader.java
index 2291bc3..fc078b7 100644
--- 
a/src/test/java/org/apache/commons/io/input/compatibility/XmlStreamReader.java
+++ 
b/src/test/java/org/apache/commons/io/input/compatibility/XmlStreamReader.java
@@ -19,7 +19,6 @@ package org.apache.commons.io.input.compatibility;
 import java.io.BufferedInputStream;
 import java.io.BufferedReader;
 import java.io.File;
-import java.io.FileInputStream;
 import java.io.IOException;
 import java.io.InputStream;
 import java.io.InputStreamReader;
@@ -28,6 +27,7 @@ import java.io.StringReader;
 import java.net.HttpURLConnection;
 import java.net.URL;
 import java.net.URLConnection;
+import java.nio.file.Files;
 import java.text.MessageFormat;
 import java.util.Locale;
 import java.util.regex.Matcher;
@@ -134,7 +134,7 @@ public class XmlStreamReader extends Reader {
      */
     @SuppressWarnings("resource") // FileInputStream is closed when this 
closed when this object is closed.
     public XmlStreamReader(final File file) throws IOException {
-        this(new FileInputStream(file));
+        this(Files.newInputStream(file.toPath()));
     }
 
     /**
diff --git 
a/src/test/java/org/apache/commons/io/output/DeferredFileOutputStreamTest.java 
b/src/test/java/org/apache/commons/io/output/DeferredFileOutputStreamTest.java
index 2098619..b9e0f74 100644
--- 
a/src/test/java/org/apache/commons/io/output/DeferredFileOutputStreamTest.java
+++ 
b/src/test/java/org/apache/commons/io/output/DeferredFileOutputStreamTest.java
@@ -25,10 +25,10 @@ import static org.junit.jupiter.api.Assertions.assertTrue;
 import static org.junit.jupiter.api.Assertions.fail;
 
 import java.io.File;
-import java.io.FileInputStream;
 import java.io.FileNotFoundException;
 import java.io.IOException;
 import java.io.InputStream;
+import java.nio.file.Files;
 import java.nio.file.Path;
 import java.util.stream.IntStream;
 
@@ -390,7 +390,7 @@ public class DeferredFileOutputStreamTest {
      */
     private void verifyResultFile(final File testFile) {
         try {
-            final FileInputStream fis = new FileInputStream(testFile);
+            final InputStream fis = Files.newInputStream(testFile.toPath());
             assertEquals(testBytes.length, fis.available());
 
             final byte[] resultBytes = new byte[testBytes.length];
diff --git 
a/src/test/java/org/apache/commons/io/output/FileWriterWithEncodingTest.java 
b/src/test/java/org/apache/commons/io/output/FileWriterWithEncodingTest.java
index 71c4966..3cb227b 100644
--- a/src/test/java/org/apache/commons/io/output/FileWriterWithEncodingTest.java
+++ b/src/test/java/org/apache/commons/io/output/FileWriterWithEncodingTest.java
@@ -23,13 +23,13 @@ import static org.junit.jupiter.api.Assertions.assertTrue;
 import static org.junit.jupiter.api.Assertions.fail;
 
 import java.io.File;
-import java.io.FileOutputStream;
 import java.io.FileWriter;
 import java.io.IOException;
 import java.io.OutputStreamWriter;
 import java.io.Writer;
 import java.nio.charset.Charset;
 import java.nio.charset.CharsetEncoder;
+import java.nio.file.Files;
 
 import org.junit.jupiter.api.BeforeEach;
 import org.junit.jupiter.api.Test;
@@ -53,7 +53,7 @@ public class FileWriterWithEncodingTest {
     @BeforeEach
     public void setUp() throws Exception {
         final File encodingFinder = new File(temporaryFolder, "finder.txt");
-        try (OutputStreamWriter out = new OutputStreamWriter(new 
FileOutputStream(encodingFinder))) {
+        try (OutputStreamWriter out = new 
OutputStreamWriter(Files.newOutputStream(encodingFinder.toPath()))) {
             defaultEncoding = out.getEncoding();
         }
         file1 = new File(temporaryFolder, "testfile1.txt");
diff --git a/src/test/java/org/apache/commons/io/test/TestUtils.java 
b/src/test/java/org/apache/commons/io/test/TestUtils.java
index 0e59978..b9ab7a1 100644
--- a/src/test/java/org/apache/commons/io/test/TestUtils.java
+++ b/src/test/java/org/apache/commons/io/test/TestUtils.java
@@ -23,10 +23,7 @@ import static org.junit.jupiter.api.Assertions.fail;
 
 import java.io.BufferedOutputStream;
 import java.io.File;
-import java.io.FileInputStream;
 import java.io.FileNotFoundException;
-import java.io.FileOutputStream;
-import java.io.FileReader;
 import java.io.IOException;
 import java.io.InputStream;
 import java.io.OutputStream;
@@ -35,6 +32,8 @@ import java.io.PrintWriter;
 import java.io.Reader;
 import java.io.Writer;
 import java.nio.charset.StandardCharsets;
+import java.nio.file.Files;
+import java.util.Arrays;
 
 import org.apache.commons.io.FileUtils;
 import org.apache.commons.io.output.ByteArrayOutputStream;
@@ -54,7 +53,7 @@ public abstract class TestUtils {
     public static void assertEqualContent(final byte[] b0, final File file) 
throws IOException {
         int count = 0, numRead = 0;
         final byte[] b1 = new byte[b0.length];
-        try (InputStream is = new FileInputStream(file)) {
+        try (InputStream is = Files.newInputStream(file.toPath())) {
             while (count < b0.length && numRead >= 0) {
                 numRead = is.read(b1, count, b0.length);
                 count += numRead;
@@ -76,7 +75,7 @@ public abstract class TestUtils {
     public static void assertEqualContent(final char[] c0, final File file) 
throws IOException {
         int count = 0, numRead = 0;
         final char[] c1 = new char[c0.length];
-        try (Reader ir = new FileReader(file)) {
+        try (Reader ir = Files.newBufferedReader(file.toPath())) {
             while (count < c0.length && numRead >= 0) {
                 numRead = ir.read(c1, count, c0.length);
                 count += numRead;
@@ -99,8 +98,8 @@ public abstract class TestUtils {
                     " have differing file sizes (" + f0.length() +
                     " vs " + f1.length() + ")", ( f0.length() == f1.length() ) 
);
         */
-        try (InputStream is0 = new FileInputStream(f0)) {
-            try (InputStream is1 = new FileInputStream(f1)) {
+        try (InputStream is0 = Files.newInputStream(f0.toPath())) {
+            try (InputStream is1 = Files.newInputStream(f1.toPath())) {
                 final byte[] buf0 = new byte[1024];
                 final byte[] buf1 = new byte[1024];
                 int n0 = 0;
@@ -148,7 +147,7 @@ public abstract class TestUtils {
                     + " as the parent directory does not exist");
         }
         try (final BufferedOutputStream output =
-                new BufferedOutputStream(new java.io.FileOutputStream(file))) {
+                new 
BufferedOutputStream(Files.newOutputStream(file.toPath()))) {
             generateTestData(output, size);
         }
     }
@@ -157,7 +156,7 @@ public abstract class TestUtils {
         if (file.getParentFile() != null && !file.getParentFile().exists()) {
             throw new IOException("Cannot create file " + file + " as the 
parent directory does not exist");
         }
-        try (final PrintWriter output = new PrintWriter(new 
OutputStreamWriter(new FileOutputStream(file), StandardCharsets.UTF_8))) {
+        try (final PrintWriter output = new PrintWriter(new 
OutputStreamWriter(Files.newOutputStream(file.toPath()), 
StandardCharsets.UTF_8))) {
             for (final String element : data) {
                 output.println(element);
             }
@@ -171,7 +170,7 @@ public abstract class TestUtils {
     }
 
     public static void generateTestData(final File file, final long size) 
throws IOException, FileNotFoundException {
-        try (final BufferedOutputStream output = new BufferedOutputStream(new 
FileOutputStream(file))) {
+        try (final BufferedOutputStream output = new 
BufferedOutputStream(Files.newOutputStream(file.toPath()))) {
             generateTestData(output, size);
         }
     }

Reply via email to