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-compress.git

commit 8e112661e3b4494b5e6e4371817b9a6e56e5080a
Author: Gary Gregory <garydgreg...@gmail.com>
AuthorDate: Sun Dec 11 03:02:36 2022 -0500

    Use Files APIs and try-with-resources
---
 .../apache/commons/compress/AbstractTestCase.java  | 15 ++--
 .../commons/compress/archivers/ArTestCase.java     | 88 ++++++++++------------
 .../archivers/ArchiveOutputStreamTest.java         | 12 +--
 .../commons/compress/archivers/CpioTestCase.java   | 12 ++-
 .../commons/compress/archivers/DumpTestCase.java   | 12 +--
 .../commons/compress/archivers/JarTestCase.java    | 52 ++++++-------
 .../commons/compress/archivers/TarTestCase.java    | 31 +++-----
 .../commons/compress/archivers/ZipTestCase.java    | 20 ++---
 .../cpio/CpioArchiveOutputStreamTest.java          | 22 +-----
 .../archivers/tar/TarArchiveInputStreamTest.java   |  4 +-
 .../compress/archivers/zip/ExplodeSupportTest.java | 22 +++---
 .../commons/compress/archivers/zip/Lister.java     |  4 +-
 .../zip/ParallelScatterZipCreatorTest.java         | 19 ++---
 .../compress/archivers/zip/Zip64SupportIT.java     |  3 +-
 .../zip/ZipFileIgnoringLocalFileHeaderTest.java    |  6 +-
 .../compress/compressors/BZip2TestCase.java        | 35 ++++-----
 .../compress/compressors/DeflateTestCase.java      | 22 +++---
 .../compress/compressors/FramedSnappyTestCase.java | 21 +++---
 .../commons/compress/compressors/GZipTestCase.java | 41 ++++------
 .../commons/compress/compressors/LZMATestCase.java | 54 +++++--------
 .../compress/compressors/Pack200TestCase.java      |  8 +-
 .../commons/compress/compressors/ZTestCase.java    | 20 ++---
 .../brotli/BrotliCompressorInputStreamTest.java    |  6 +-
 .../lz4/BlockLZ4CompressorRoundtripTest.java       | 10 +--
 .../compress/compressors/lz4/FactoryTest.java      | 12 ++-
 .../lz4/FramedLZ4CompressorRoundtripTest.java      |  8 +-
 .../compressors/pack200/Pack200UtilsTest.java      | 37 +++------
 .../FramedSnappyCompressorInputStreamTest.java     | 47 +++---------
 .../compressors/snappy/SnappyRoundtripTest.java    | 14 ++--
 .../zstandard/ZstdCompressorInputStreamTest.java   |  6 +-
 .../compressors/zstandard/ZstdRoundtripTest.java   | 19 ++---
 31 files changed, 250 insertions(+), 432 deletions(-)

diff --git a/src/test/java/org/apache/commons/compress/AbstractTestCase.java 
b/src/test/java/org/apache/commons/compress/AbstractTestCase.java
index 9b4d5f9b..c4fcdc6d 100644
--- a/src/test/java/org/apache/commons/compress/AbstractTestCase.java
+++ b/src/test/java/org/apache/commons/compress/AbstractTestCase.java
@@ -141,7 +141,7 @@ public abstract class AbstractTestCase {
             throws IOException, FileNotFoundException {
         final ArchiveEntry entry = out.createArchiveEntry(infile, filename);
         out.putArchiveEntry(entry);
-        IOUtils.copy(infile, out);
+        Files.copy(infile.toPath(), out);
         out.closeArchiveEntry();
         archiveList.add(filename);
     }
@@ -175,20 +175,17 @@ public abstract class AbstractTestCase {
         try {
             ArchiveEntry entry = null;
             while ((entry = in.getNextEntry()) != null) {
-                final File outfile = new File(result.getCanonicalPath() + 
"/result/"
-                        + entry.getName());
-                long copied=0;
-                if (entry.isDirectory()){
+                final File outfile = new File(result.getCanonicalPath() + 
"/result/" + entry.getName());
+                long copied = 0;
+                if (entry.isDirectory()) {
                     outfile.mkdirs();
                 } else {
                     outfile.getParentFile().mkdirs();
-                    try (OutputStream out = 
Files.newOutputStream(outfile.toPath())) {
-                        copied = IOUtils.copy(in, out);
-                    }
+                    copied = Files.copy(in, outfile.toPath());
                 }
                 final long size = entry.getSize();
                 if (size != ArchiveEntry.SIZE_UNKNOWN) {
-                    assertEquals("Entry.size should equal bytes read.",size, 
copied);
+                    assertEquals("Entry.size should equal bytes read.", size, 
copied);
                 }
 
                 if (!outfile.exists()) {
diff --git 
a/src/test/java/org/apache/commons/compress/archivers/ArTestCase.java 
b/src/test/java/org/apache/commons/compress/archivers/ArTestCase.java
index dd1b548c..51641aec 100644
--- a/src/test/java/org/apache/commons/compress/archivers/ArTestCase.java
+++ b/src/test/java/org/apache/commons/compress/archivers/ArTestCase.java
@@ -47,17 +47,16 @@ public final class ArTestCase extends AbstractTestCase {
         final File file1 = getFile("test1.xml");
         final File file2 = getFile("test2.xml");
 
-        final OutputStream out = Files.newOutputStream(output.toPath());
-        final ArchiveOutputStream os = 
ArchiveStreamFactory.DEFAULT.createArchiveOutputStream("ar", out);
-        os.putArchiveEntry(new ArArchiveEntry("test1.xml", file1.length()));
-        IOUtils.copy(Files.newInputStream(file1.toPath()), os);
-        os.closeArchiveEntry();
-
-        os.putArchiveEntry(new ArArchiveEntry("test2.xml", file2.length()));
-        IOUtils.copy(Files.newInputStream(file2.toPath()), os);
-        os.closeArchiveEntry();
+        try (final OutputStream out = Files.newOutputStream(output.toPath());
+                ArchiveOutputStream os = 
ArchiveStreamFactory.DEFAULT.createArchiveOutputStream("ar", out)) {
+            os.putArchiveEntry(new ArArchiveEntry("test1.xml", 
file1.length()));
+            Files.copy(file1.toPath(), os);
+            os.closeArchiveEntry();
 
-        os.close();
+            os.putArchiveEntry(new ArArchiveEntry("test2.xml", 
file2.length()));
+            Files.copy(file2.toPath(), os);
+            os.closeArchiveEntry();
+        }
     }
 
     @Test
@@ -68,18 +67,16 @@ public final class ArTestCase extends AbstractTestCase {
         final File file2 = getFile("test2.xml");
         {
             // create
-
-            final OutputStream out = Files.newOutputStream(output.toPath());
-            final ArchiveOutputStream os = 
ArchiveStreamFactory.DEFAULT.createArchiveOutputStream("ar", out);
-            os.putArchiveEntry(new ArArchiveEntry("test1.xml", 
file1.length()));
-            IOUtils.copy(Files.newInputStream(file1.toPath()), os);
-            os.closeArchiveEntry();
-
-            os.putArchiveEntry(new ArArchiveEntry("test2.xml", 
file2.length()));
-            IOUtils.copy(Files.newInputStream(file2.toPath()), os);
-            os.closeArchiveEntry();
-            os.close();
-            out.close();
+            try (OutputStream out = Files.newOutputStream(output.toPath());
+                    ArchiveOutputStream os = 
ArchiveStreamFactory.DEFAULT.createArchiveOutputStream("ar", out)) {
+                os.putArchiveEntry(new ArArchiveEntry("test1.xml", 
file1.length()));
+                Files.copy(file1.toPath(), os);
+                os.closeArchiveEntry();
+
+                os.putArchiveEntry(new ArArchiveEntry("test2.xml", 
file2.length()));
+                Files.copy(file2.toPath(), os);
+                os.closeArchiveEntry();
+            }
         }
 
         assertEquals(8 + 60 + file1.length() + (file1.length() % 2) + 60 + 
file2.length() + (file2.length() % 2), output.length());
@@ -122,26 +119,24 @@ public final class ArTestCase extends AbstractTestCase {
         long sum = 0;
 
         {
-            final InputStream is = Files.newInputStream(output2.toPath());
-            final ArchiveInputStream ais = new 
ArchiveStreamFactory().createArchiveInputStream(new BufferedInputStream(is));
-            while (true) {
-                final ArArchiveEntry entry = (ArArchiveEntry) 
ais.getNextEntry();
-                if (entry == null) {
-                    break;
-                }
+            try (InputStream is = Files.newInputStream(output2.toPath());
+                    ArchiveInputStream ais = new 
ArchiveStreamFactory().createArchiveInputStream(new BufferedInputStream(is))) {
+                while (true) {
+                    final ArArchiveEntry entry = (ArArchiveEntry) 
ais.getNextEntry();
+                    if (entry == null) {
+                        break;
+                    }
 
-                IOUtils.copy(ais, new ByteArrayOutputStream());
+                    IOUtils.copy(ais, new ByteArrayOutputStream());
 
-                sum += entry.getLength();
-                files++;
+                    sum += entry.getLength();
+                    files++;
+                }
             }
-            ais.close();
-            is.close();
         }
 
         assertEquals(1, files);
         assertEquals(file1.length(), sum);
-
     }
 
     @Test
@@ -151,17 +146,16 @@ public final class ArTestCase extends AbstractTestCase {
             final File file1 = getFile("test1.xml");
             final File file2 = getFile("test2.xml");
 
-            final OutputStream out = Files.newOutputStream(output.toPath());
-            final ArchiveOutputStream os = 
ArchiveStreamFactory.DEFAULT.createArchiveOutputStream("ar", out);
-            os.putArchiveEntry(new ArArchiveEntry("test1.xml", 
file1.length()));
-            IOUtils.copy(Files.newInputStream(file1.toPath()), os);
-            os.closeArchiveEntry();
+            try (OutputStream out = Files.newOutputStream(output.toPath());
+                    ArchiveOutputStream os = 
ArchiveStreamFactory.DEFAULT.createArchiveOutputStream("ar", out)) {
+                os.putArchiveEntry(new ArArchiveEntry("test1.xml", 
file1.length()));
+                Files.copy(file1.toPath(), os);
+                os.closeArchiveEntry();
 
-            os.putArchiveEntry(new ArArchiveEntry("test2.xml", 
file2.length()));
-            IOUtils.copy(Files.newInputStream(file2.toPath()), os);
-            os.closeArchiveEntry();
-            os.close();
-            out.close();
+                os.putArchiveEntry(new ArArchiveEntry("test2.xml", 
file2.length()));
+                Files.copy(file2.toPath(), os);
+                os.closeArchiveEntry();
+            }
         }
 
         // UnArArchive Operation
@@ -171,9 +165,7 @@ public final class ArTestCase extends AbstractTestCase {
             final ArArchiveEntry entry = (ArArchiveEntry) in.getNextEntry();
 
             final File target = new File(dir, entry.getName());
-            try (final OutputStream out = 
Files.newOutputStream(target.toPath())) {
-                IOUtils.copy(in, out);
-            }
+            Files.copy(in, target.toPath());
         }
     }
 
diff --git 
a/src/test/java/org/apache/commons/compress/archivers/ArchiveOutputStreamTest.java
 
b/src/test/java/org/apache/commons/compress/archivers/ArchiveOutputStreamTest.java
index e2f4ef9e..95d6b675 100644
--- 
a/src/test/java/org/apache/commons/compress/archivers/ArchiveOutputStreamTest.java
+++ 
b/src/test/java/org/apache/commons/compress/archivers/ArchiveOutputStreamTest.java
@@ -42,9 +42,7 @@ public class ArchiveOutputStreamTest extends AbstractTestCase 
{
         throws Exception {
         final ArchiveOutputStream aos1 = 
factory.createArchiveOutputStream(archiveType, out1);
         aos1.putArchiveEntry(aos1.createArchiveEntry(dummy, "dummy"));
-        try (InputStream is = Files.newInputStream(dummy.toPath())) {
-            IOUtils.copy(is, aos1);
-        }
+        Files.copy(dummy.toPath(), aos1);
         return aos1;
     }
 
@@ -55,9 +53,7 @@ public class ArchiveOutputStreamTest extends AbstractTestCase 
{
         ArchiveOutputStream aos1;
         aos1 = factory.createArchiveOutputStream(archiveType, out1);
         aos1.putArchiveEntry(aos1.createArchiveEntry(dummy, "dummy"));
-        try (InputStream is = Files.newInputStream(dummy.toPath())) {
-            IOUtils.copy(is, aos1);
-        }
+        Files.copy(dummy.toPath(), aos1);
         aos1.closeArchiveEntry();
         aos1.close(); // omitted finish
 
@@ -71,9 +67,7 @@ public class ArchiveOutputStreamTest extends AbstractTestCase 
{
         }
 
         aos1.putArchiveEntry(aos1.createArchiveEntry(dummy, "dummy"));
-        try (InputStream is = Files.newInputStream(dummy.toPath())) {
-            IOUtils.copy(is, aos1);
-        }
+        Files.copy(dummy.toPath(), aos1);
 
         // TODO check if second putArchiveEntry() can follow without closeAE?
 
diff --git 
a/src/test/java/org/apache/commons/compress/archivers/CpioTestCase.java 
b/src/test/java/org/apache/commons/compress/archivers/CpioTestCase.java
index 4c9db4e9..510b67bb 100644
--- a/src/test/java/org/apache/commons/compress/archivers/CpioTestCase.java
+++ b/src/test/java/org/apache/commons/compress/archivers/CpioTestCase.java
@@ -50,11 +50,11 @@ public final class CpioTestCase extends AbstractTestCase {
         final OutputStream out = Files.newOutputStream(output.toPath());
         final ArchiveOutputStream os = 
ArchiveStreamFactory.DEFAULT.createArchiveOutputStream("cpio", out);
         os.putArchiveEntry(new CpioArchiveEntry("test1.xml", file1.length()));
-        IOUtils.copy(Files.newInputStream(file1.toPath()), os);
+        Files.copy(file1.toPath(), os);
         os.closeArchiveEntry();
 
         os.putArchiveEntry(new CpioArchiveEntry("test2.xml", file2.length()));
-        IOUtils.copy(Files.newInputStream(file2.toPath()), os);
+        Files.copy(file2.toPath(), os);
         os.closeArchiveEntry();
 
         os.close();
@@ -75,13 +75,13 @@ public final class CpioTestCase extends AbstractTestCase {
             CpioArchiveEntry entry = new CpioArchiveEntry("test1.xml", 
file1Length);
             entry.setMode(CpioConstants.C_ISREG);
             os.putArchiveEntry(entry);
-            IOUtils.copy(Files.newInputStream(file1.toPath()), os);
+            Files.copy(file1.toPath(), os);
             os.closeArchiveEntry();
 
             entry = new CpioArchiveEntry("test2.xml", file2Length);
             entry.setMode(CpioConstants.C_ISREG);
             os.putArchiveEntry(entry);
-            IOUtils.copy(Files.newInputStream(file2.toPath()), os);
+            Files.copy(file2.toPath(), os);
             os.closeArchiveEntry();
             os.finish();
             os.close();
@@ -97,9 +97,7 @@ public final class CpioTestCase extends AbstractTestCase {
         ArchiveEntry entry = null;
         while ((entry = in.getNextEntry()) != null) {
             final File cpioget = new File(dir, entry.getName());
-            final OutputStream out = Files.newOutputStream(cpioget.toPath());
-            IOUtils.copy(in, out);
-            out.close();
+            Files.copy(in, cpioget.toPath());
             result.put(entry.getName(), cpioget);
         }
         in.close();
diff --git 
a/src/test/java/org/apache/commons/compress/archivers/DumpTestCase.java 
b/src/test/java/org/apache/commons/compress/archivers/DumpTestCase.java
index 5e47b3c4..c25f5fa8 100644
--- a/src/test/java/org/apache/commons/compress/archivers/DumpTestCase.java
+++ b/src/test/java/org/apache/commons/compress/archivers/DumpTestCase.java
@@ -88,10 +88,8 @@ public final class DumpTestCase extends AbstractTestCase {
     private void unarchiveAll(final File input) throws Exception {
         final InputStream is = Files.newInputStream(input.toPath());
         ArchiveInputStream in = null;
-        OutputStream out = null;
         try {
-            in = ArchiveStreamFactory.DEFAULT
-                .createArchiveInputStream("dump", is);
+            in = ArchiveStreamFactory.DEFAULT.createArchiveInputStream("dump", 
is);
 
             ArchiveEntry entry = in.getNextEntry();
             while (entry != null) {
@@ -102,16 +100,10 @@ public final class DumpTestCase extends AbstractTestCase {
                     entry = in.getNextEntry();
                     continue;
                 }
-                out = Files.newOutputStream(archiveEntry.toPath());
-                IOUtils.copy(in, out);
-                out.close();
-                out = null;
+                Files.copy(in, archiveEntry.toPath());
                 entry = in.getNextEntry();
             }
         } finally {
-            if (out != null) {
-                out.close();
-            }
             if (in != null) {
                 in.close();
             }
diff --git 
a/src/test/java/org/apache/commons/compress/archivers/JarTestCase.java 
b/src/test/java/org/apache/commons/compress/archivers/JarTestCase.java
index b19e2b49..8fbc967b 100644
--- a/src/test/java/org/apache/commons/compress/archivers/JarTestCase.java
+++ b/src/test/java/org/apache/commons/compress/archivers/JarTestCase.java
@@ -42,11 +42,11 @@ public final class JarTestCase extends AbstractTestCase {
         final ArchiveOutputStream os = 
ArchiveStreamFactory.DEFAULT.createArchiveOutputStream("jar", out);
 
         os.putArchiveEntry(new ZipArchiveEntry("testdata/test1.xml"));
-        IOUtils.copy(Files.newInputStream(file1.toPath()), os);
+        Files.copy(file1.toPath(), os);
         os.closeArchiveEntry();
 
         os.putArchiveEntry(new ZipArchiveEntry("testdata/test2.xml"));
-        IOUtils.copy(Files.newInputStream(file2.toPath()), os);
+        Files.copy(file2.toPath(), os);
         os.closeArchiveEntry();
 
         os.close();
@@ -56,32 +56,24 @@ public final class JarTestCase extends AbstractTestCase {
     @Test
     public void testJarUnarchive() throws Exception {
         final File input = getFile("bla.jar");
-        final InputStream is = Files.newInputStream(input.toPath());
-        final ArchiveInputStream in = 
ArchiveStreamFactory.DEFAULT.createArchiveInputStream("jar", is);
-
-        ZipArchiveEntry entry = (ZipArchiveEntry)in.getNextEntry();
-        File o = new File(dir, entry.getName());
-        o.getParentFile().mkdirs();
-        OutputStream out = Files.newOutputStream(o.toPath());
-        IOUtils.copy(in, out);
-        out.close();
-
-        entry = (ZipArchiveEntry)in.getNextEntry();
-        o = new File(dir, entry.getName());
-        o.getParentFile().mkdirs();
-        out = Files.newOutputStream(o.toPath());
-        IOUtils.copy(in, out);
-        out.close();
-
-        entry = (ZipArchiveEntry)in.getNextEntry();
-        o = new File(dir, entry.getName());
-        o.getParentFile().mkdirs();
-        out = Files.newOutputStream(o.toPath());
-        IOUtils.copy(in, out);
-        out.close();
-
-        in.close();
-        is.close();
+        try (InputStream is = Files.newInputStream(input.toPath());
+                ArchiveInputStream in = 
ArchiveStreamFactory.DEFAULT.createArchiveInputStream("jar", is)) {
+
+            ZipArchiveEntry entry = (ZipArchiveEntry) in.getNextEntry();
+            File o = new File(dir, entry.getName());
+            o.getParentFile().mkdirs();
+            Files.copy(in, o.toPath());
+
+            entry = (ZipArchiveEntry) in.getNextEntry();
+            o = new File(dir, entry.getName());
+            o.getParentFile().mkdirs();
+            Files.copy(in, o.toPath());
+
+            entry = (ZipArchiveEntry) in.getNextEntry();
+            o = new File(dir, entry.getName());
+            o.getParentFile().mkdirs();
+            Files.copy(in, o.toPath());
+        }
     }
 
     @Test
@@ -99,9 +91,7 @@ public final class JarTestCase extends AbstractTestCase {
                 entry = in.getNextEntry();
                 continue;
             }
-            final OutputStream out = 
Files.newOutputStream(archiveEntry.toPath());
-            IOUtils.copy(in, out);
-            out.close();
+            Files.copy(in, archiveEntry.toPath());
             entry = in.getNextEntry();
         }
 
diff --git 
a/src/test/java/org/apache/commons/compress/archivers/TarTestCase.java 
b/src/test/java/org/apache/commons/compress/archivers/TarTestCase.java
index b3536f35..16ffc264 100644
--- a/src/test/java/org/apache/commons/compress/archivers/TarTestCase.java
+++ b/src/test/java/org/apache/commons/compress/archivers/TarTestCase.java
@@ -314,8 +314,8 @@ public final class TarTestCase extends AbstractTestCase {
     public void testTarArchiveCreation() throws Exception {
         final File output = new File(dir, "bla.tar");
         final File file1 = getFile("test1.xml");
-        final OutputStream out = Files.newOutputStream(output.toPath());
-        try (ArchiveOutputStream os = 
ArchiveStreamFactory.DEFAULT.createArchiveOutputStream("tar", out)) {
+        try (OutputStream out = Files.newOutputStream(output.toPath());
+                ArchiveOutputStream os = 
ArchiveStreamFactory.DEFAULT.createArchiveOutputStream("tar", out)) {
             final TarArchiveEntry entry = new 
TarArchiveEntry("testdata/test1.xml");
             entry.setModTime(0);
             entry.setSize(file1.length());
@@ -325,9 +325,7 @@ public final class TarTestCase extends AbstractTestCase {
             entry.setGroupName("excalibur");
             entry.setMode(0100000);
             os.putArchiveEntry(entry);
-            try (final InputStream iInputStream = 
Files.newInputStream(file1.toPath())) {
-                IOUtils.copy(iInputStream, os);
-            }
+            Files.copy(file1.toPath(), os);
             os.closeArchiveEntry();
         }
     }
@@ -351,13 +349,10 @@ public final class TarTestCase extends AbstractTestCase {
         entry.setGroupName("excalibur");
         entry.setMode(0100000);
         os.putArchiveEntry(entry);
-        try (final InputStream in = Files.newInputStream(file1.toPath())) {
-            IOUtils.copy(in, os);
-            os.closeArchiveEntry();
-            os.close();
-            out.close();
-        }
-
+        Files.copy(file1.toPath(), os);
+        os.closeArchiveEntry();
+        os.close();
+        out.close();
 
         ArchiveOutputStream os2 = null;
         try {
@@ -374,7 +369,7 @@ public final class TarTestCase extends AbstractTestCase {
             entry2.setGroupName("excalibur");
             entry2.setMode(0100000);
             os2.putArchiveEntry(entry);
-            IOUtils.copy(Files.newInputStream(file1.toPath()), os2);
+            Files.copy(file1.toPath(), os2);
             os2.closeArchiveEntry();
         } catch(final IOException e) {
             assertTrue(true);
@@ -570,9 +565,7 @@ public final class TarTestCase extends AbstractTestCase {
         final File file = getFile("bla.tar");
         try (final TarFile tarFile = new TarFile(file)) {
             final TarArchiveEntry entry = tarFile.getEntries().get(0);
-            try (final OutputStream out = Files.newOutputStream(new File(dir, 
entry.getName()).toPath())) {
-                IOUtils.copy(tarFile.getInputStream(entry), out);
-            }
+            Files.copy(tarFile.getInputStream(entry), new File(dir, 
entry.getName()).toPath());
         }
     }
 
@@ -580,11 +573,9 @@ public final class TarTestCase extends AbstractTestCase {
     public void testTarUnarchive() throws Exception {
         final File input = getFile("bla.tar");
         try (final InputStream is = Files.newInputStream(input.toPath());
-             final ArchiveInputStream in = 
ArchiveStreamFactory.DEFAULT.createArchiveInputStream("tar", is)) {
+                final ArchiveInputStream in = 
ArchiveStreamFactory.DEFAULT.createArchiveInputStream("tar", is)) {
             final TarArchiveEntry entry = (TarArchiveEntry) in.getNextEntry();
-            try (final OutputStream out = Files.newOutputStream(new File(dir, 
entry.getName()).toPath())) {
-                IOUtils.copy(in, out);
-            }
+            Files.copy(in, new File(dir, entry.getName()).toPath());
         }
     }
 }
diff --git 
a/src/test/java/org/apache/commons/compress/archivers/ZipTestCase.java 
b/src/test/java/org/apache/commons/compress/archivers/ZipTestCase.java
index 209d3884..cd837f64 100644
--- a/src/test/java/org/apache/commons/compress/archivers/ZipTestCase.java
+++ b/src/test/java/org/apache/commons/compress/archivers/ZipTestCase.java
@@ -79,8 +79,8 @@ public final class ZipTestCase extends AbstractTestCase {
             zipArchiveEntry.setMethod(ZipEntry.DEFLATED);
 
             zipArchiveOutputStream.putArchiveEntry(zipArchiveEntry);
-            try (final InputStream input = 
Files.newInputStream(fileToAdd.toPath())) {
-                IOUtils.copy(input, zipArchiveOutputStream);
+            try {
+                Files.copy(fileToAdd.toPath(), zipArchiveOutputStream);
             } finally {
                 zipArchiveOutputStream.closeArchiveEntry();
             }
@@ -725,15 +725,11 @@ public final class ZipTestCase extends AbstractTestCase {
         try (final OutputStream out = Files.newOutputStream(output.toPath())) {
             try (ArchiveOutputStream os = 
ArchiveStreamFactory.DEFAULT.createArchiveOutputStream("zip", out)) {
                 os.putArchiveEntry(new ZipArchiveEntry("testdata/test1.xml"));
-                try (final InputStream input = 
Files.newInputStream(file1.toPath())) {
-                    IOUtils.copy(input, os);
-                }
+                Files.copy(file1.toPath(), os);
                 os.closeArchiveEntry();
 
                 os.putArchiveEntry(new ZipArchiveEntry("testdata/test2.xml"));
-                try (final InputStream input = 
Files.newInputStream(file2.toPath())) {
-                    IOUtils.copy(input, os);
-                }
+                Files.copy(file2.toPath(), os);
                 os.closeArchiveEntry();
             }
         }
@@ -748,9 +744,7 @@ public final class ZipTestCase extends AbstractTestCase {
                 while ((entry = (ZipArchiveEntry) 
archiveInputStream.getNextEntry()) != null) {
                     final File outfile = new File(resultDir.getCanonicalPath() 
+ "/result/" + entry.getName());
                     outfile.getParentFile().mkdirs();
-                    try (OutputStream o = 
Files.newOutputStream(outfile.toPath())) {
-                        IOUtils.copy(archiveInputStream, o);
-                    }
+                    Files.copy(archiveInputStream, outfile.toPath());
                     results.add(outfile);
                 }
             }
@@ -865,9 +859,7 @@ public final class ZipTestCase extends AbstractTestCase {
         try (final InputStream is = Files.newInputStream(input.toPath());
                 final ArchiveInputStream in = 
ArchiveStreamFactory.DEFAULT.createArchiveInputStream("zip", is)) {
             final ZipArchiveEntry entry = (ZipArchiveEntry) in.getNextEntry();
-            try (final OutputStream out = Files.newOutputStream(new File(dir, 
entry.getName()).toPath())) {
-                IOUtils.copy(in, out);
-            }
+            Files.copy(in, new File(dir, entry.getName()).toPath());
         }
     }
 }
diff --git 
a/src/test/java/org/apache/commons/compress/archivers/cpio/CpioArchiveOutputStreamTest.java
 
b/src/test/java/org/apache/commons/compress/archivers/cpio/CpioArchiveOutputStreamTest.java
index 08be214a..b45a6729 100644
--- 
a/src/test/java/org/apache/commons/compress/archivers/cpio/CpioArchiveOutputStreamTest.java
+++ 
b/src/test/java/org/apache/commons/compress/archivers/cpio/CpioArchiveOutputStreamTest.java
@@ -36,32 +36,18 @@ public class CpioArchiveOutputStreamTest extends 
AbstractTestCase {
     public void testWriteOldBinary() throws Exception {
         final File f = getFile("test1.xml");
         final File output = new File(dir, "test.cpio");
-        final OutputStream out = Files.newOutputStream(output.toPath());
-        InputStream in = null;
-        try {
-            final CpioArchiveOutputStream os = new 
CpioArchiveOutputStream(out, CpioConstants.FORMAT_OLD_BINARY);
+        try (final OutputStream out = Files.newOutputStream(output.toPath());
+                CpioArchiveOutputStream os = new CpioArchiveOutputStream(out, 
CpioConstants.FORMAT_OLD_BINARY)) {
             os.putArchiveEntry(new 
CpioArchiveEntry(CpioConstants.FORMAT_OLD_BINARY, f, "test1.xml"));
-            IOUtils.copy(in = Files.newInputStream(f.toPath()), os);
-            in.close();
-            in = null;
+            Files.copy(f.toPath(), os);
             os.closeArchiveEntry();
-            os.close();
-        } finally {
-            if (in != null) {
-                in.close();
-            }
-            out.close();
         }
 
-        try {
-            in = new 
CpioArchiveInputStream(Files.newInputStream(output.toPath()));
+        try (CpioArchiveInputStream in = new 
CpioArchiveInputStream(Files.newInputStream(output.toPath()))) {
             final CpioArchiveEntry e = ((CpioArchiveInputStream) 
in).getNextCPIOEntry();
             assertEquals("test1.xml", e.getName());
             assertNull(((CpioArchiveInputStream) in).getNextEntry());
         } finally {
-            if (in != null) {
-                in.close();
-            }
         }
     }
 }
diff --git 
a/src/test/java/org/apache/commons/compress/archivers/tar/TarArchiveInputStreamTest.java
 
b/src/test/java/org/apache/commons/compress/archivers/tar/TarArchiveInputStreamTest.java
index ab9b1cbe..e7f0fadd 100644
--- 
a/src/test/java/org/apache/commons/compress/archivers/tar/TarArchiveInputStreamTest.java
+++ 
b/src/test/java/org/apache/commons/compress/archivers/tar/TarArchiveInputStreamTest.java
@@ -183,9 +183,7 @@ public class TarArchiveInputStreamTest extends 
AbstractTestCase {
                 TarArchiveEntry entry = is.getNextTarEntry();
                 int count = 0;
                 while (entry != null) {
-                    try (OutputStream out = Files.newOutputStream(new 
File(dir, String.valueOf(count)).toPath())) {
-                        IOUtils.copy(is, out);
-                    }
+                    Files.copy(is, new File(dir, 
String.valueOf(count)).toPath());
                     count++;
                     entry = is.getNextTarEntry();
                 }
diff --git 
a/src/test/java/org/apache/commons/compress/archivers/zip/ExplodeSupportTest.java
 
b/src/test/java/org/apache/commons/compress/archivers/zip/ExplodeSupportTest.java
index db9b13b2..3a653733 100644
--- 
a/src/test/java/org/apache/commons/compress/archivers/zip/ExplodeSupportTest.java
+++ 
b/src/test/java/org/apache/commons/compress/archivers/zip/ExplodeSupportTest.java
@@ -39,20 +39,20 @@ import org.junit.jupiter.api.Test;
 public class ExplodeSupportTest {
 
     private void testArchiveWithImplodeCompression(final String filename, 
final String entryName) throws IOException {
-        final ZipFile zip = new ZipFile(new File(filename));
-        final ZipArchiveEntry entry = zip.getEntries().nextElement();
-        assertEquals("entry name", entryName, entry.getName());
-        assertTrue("entry can't be read", zip.canReadEntryData(entry));
-        assertEquals("method", ZipMethod.IMPLODING.getCode(), 
entry.getMethod());
+        try (ZipFile zip = new ZipFile(new File(filename))) {
+            final ZipArchiveEntry entry = zip.getEntries().nextElement();
+            assertEquals("entry name", entryName, entry.getName());
+            assertTrue("entry can't be read", zip.canReadEntryData(entry));
+            assertEquals("method", ZipMethod.IMPLODING.getCode(), 
entry.getMethod());
 
-        final ByteArrayOutputStream bout = new ByteArrayOutputStream();
-        final CheckedOutputStream out = new CheckedOutputStream(bout, new 
CRC32());
-        IOUtils.copy(zip.getInputStream(entry), out);
+            final ByteArrayOutputStream bout = new ByteArrayOutputStream();
+            final CheckedOutputStream out = new CheckedOutputStream(bout, new 
CRC32());
+            IOUtils.copy(zip.getInputStream(entry), out);
 
-        out.flush();
+            out.flush();
 
-        assertEquals("CRC32", entry.getCrc(), out.getChecksum().getValue());
-        zip.close();
+            assertEquals("CRC32", entry.getCrc(), 
out.getChecksum().getValue());
+        }
     }
 
     @Test
diff --git 
a/src/test/java/org/apache/commons/compress/archivers/zip/Lister.java 
b/src/test/java/org/apache/commons/compress/archivers/zip/Lister.java
index 3aa4eba5..826d3616 100644
--- a/src/test/java/org/apache/commons/compress/archivers/zip/Lister.java
+++ b/src/test/java/org/apache/commons/compress/archivers/zip/Lister.java
@@ -52,9 +52,7 @@ public final class Lister {
         if (!f.getParentFile().exists()) {
             f.getParentFile().mkdirs();
         }
-        try (OutputStream fos = Files.newOutputStream(f.toPath())) {
-            IOUtils.copy(is, fos);
-        }
+        Files.copy(is, f.toPath());
     }
 
     private static void list(final ZipArchiveEntry entry) {
diff --git 
a/src/test/java/org/apache/commons/compress/archivers/zip/ParallelScatterZipCreatorTest.java
 
b/src/test/java/org/apache/commons/compress/archivers/zip/ParallelScatterZipCreatorTest.java
index bf78ffb1..6edbe8a0 100644
--- 
a/src/test/java/org/apache/commons/compress/archivers/zip/ParallelScatterZipCreatorTest.java
+++ 
b/src/test/java/org/apache/commons/compress/archivers/zip/ParallelScatterZipCreatorTest.java
@@ -68,17 +68,18 @@ public class ParallelScatterZipCreatorTest {
     }
 
     private void callableApi(final CallableConsumerSupplier consumerSupplier, 
final int compressionLevel) throws Exception {
-        final ZipArchiveOutputStream zos = new ZipArchiveOutputStream(result);
-        zos.setEncoding("UTF-8");
-        final ExecutorService es = Executors.newFixedThreadPool(1);
+        final Map<String, byte[]> entries;
+        final ParallelScatterZipCreator zipCreator;
+        try (ZipArchiveOutputStream zos = new ZipArchiveOutputStream(result)) {
+            zos.setEncoding("UTF-8");
+            final ExecutorService es = Executors.newFixedThreadPool(1);
 
-        final ScatterGatherBackingStoreSupplier supp = () -> new 
FileBasedScatterGatherBackingStore(tmp = File.createTempFile("parallelscatter", 
"n1"));
-
-        final ParallelScatterZipCreator zipCreator = new 
ParallelScatterZipCreator(es, supp, compressionLevel);
-        final Map<String, byte[]> entries = writeEntriesAsCallable(zipCreator, 
consumerSupplier.apply(zipCreator));
-        zipCreator.writeTo(zos);
-        zos.close();
+            final ScatterGatherBackingStoreSupplier supp = () -> new 
FileBasedScatterGatherBackingStore(tmp = File.createTempFile("parallelscatter", 
"n1"));
 
+            zipCreator = new ParallelScatterZipCreator(es, supp, 
compressionLevel);
+            entries = writeEntriesAsCallable(zipCreator, 
consumerSupplier.apply(zipCreator));
+            zipCreator.writeTo(zos);
+        }
 
         removeEntriesFoundInZipFile(result, entries);
         assertTrue(entries.isEmpty());
diff --git 
a/src/test/java/org/apache/commons/compress/archivers/zip/Zip64SupportIT.java 
b/src/test/java/org/apache/commons/compress/archivers/zip/Zip64SupportIT.java
index 54add5b3..f427c51b 100644
--- 
a/src/test/java/org/apache/commons/compress/archivers/zip/Zip64SupportIT.java
+++ 
b/src/test/java/org/apache/commons/compress/archivers/zip/Zip64SupportIT.java
@@ -2055,8 +2055,7 @@ public class Zip64SupportIT {
 
             zipArchiveOutputStream.putArchiveEntry(new 
ZipArchiveEntry("input.bin"));
 
-            final InputStream inputStream = new FileInputStream(inputFile);
-            IOUtils.copy(inputStream, zipArchiveOutputStream);
+            Files.copy(inputFile.toPath(), zipArchiveOutputStream);
 
             zipArchiveOutputStream.closeArchiveEntry();
         }
diff --git 
a/src/test/java/org/apache/commons/compress/archivers/zip/ZipFileIgnoringLocalFileHeaderTest.java
 
b/src/test/java/org/apache/commons/compress/archivers/zip/ZipFileIgnoringLocalFileHeaderTest.java
index 85437b2c..bb6ff2ef 100644
--- 
a/src/test/java/org/apache/commons/compress/archivers/zip/ZipFileIgnoringLocalFileHeaderTest.java
+++ 
b/src/test/java/org/apache/commons/compress/archivers/zip/ZipFileIgnoringLocalFileHeaderTest.java
@@ -96,11 +96,9 @@ public class ZipFileIgnoringLocalFileHeaderTest {
     @Test
     public void testZipUnarchive() throws Exception {
         try (final ZipFile zf = openZipWithoutLFH("bla.zip")) {
-            for (final Enumeration<ZipArchiveEntry> e = zf.getEntries(); 
e.hasMoreElements(); ) {
+            for (final Enumeration<ZipArchiveEntry> e = zf.getEntries(); 
e.hasMoreElements();) {
                 final ZipArchiveEntry entry = e.nextElement();
-                try (final OutputStream out = Files.newOutputStream(new 
File(dir, entry.getName()).toPath())) {
-                    IOUtils.copy(zf.getInputStream(entry), out);
-                }
+                Files.copy(zf.getInputStream(entry), new File(dir, 
entry.getName()).toPath());
             }
         }
     }
diff --git 
a/src/test/java/org/apache/commons/compress/compressors/BZip2TestCase.java 
b/src/test/java/org/apache/commons/compress/compressors/BZip2TestCase.java
index edb56d99..eb1fd3ff 100644
--- a/src/test/java/org/apache/commons/compress/compressors/BZip2TestCase.java
+++ b/src/test/java/org/apache/commons/compress/compressors/BZip2TestCase.java
@@ -36,40 +36,33 @@ public final class BZip2TestCase extends AbstractTestCase {
     public void testBzip2Unarchive() throws Exception {
         final File input = getFile("bla.txt.bz2");
         final File output = new File(dir, "bla.txt");
-        final InputStream is = Files.newInputStream(input.toPath());
-        final CompressorInputStream in = new 
CompressorStreamFactory().createCompressorInputStream("bzip2", is);
-        final OutputStream os = Files.newOutputStream(output.toPath());
-        IOUtils.copy(in, os);
-        is.close();
-        os.close();
+        try (final InputStream is = Files.newInputStream(input.toPath());
+                CompressorInputStream in = new 
CompressorStreamFactory().createCompressorInputStream("bzip2", is)) {
+            Files.copy(in, output.toPath());
+        }
     }
 
     @Test
-    public void testBzipCreation()  throws Exception {
+    public void testBzipCreation() throws Exception {
         File output = null;
         final File input = getFile("test.txt");
         {
             output = new File(dir, "test.txt.bz2");
-            final OutputStream out = Files.newOutputStream(output.toPath());
-            final CompressorOutputStream cos = new 
CompressorStreamFactory().createCompressorOutputStream("bzip2", out);
-            final InputStream in = Files.newInputStream(input.toPath());
-            IOUtils.copy(in, cos);
-            cos.close();
-            in.close();
+            try (OutputStream out = Files.newOutputStream(output.toPath());
+                    final CompressorOutputStream cos = new 
CompressorStreamFactory().createCompressorOutputStream("bzip2", out)) {
+                Files.copy(input.toPath(), cos);
+            }
         }
 
         final File decompressed = new File(dir, "decompressed.txt");
         {
-            final InputStream is = Files.newInputStream(output.toPath());
-            final CompressorInputStream in =
-                new 
CompressorStreamFactory().createCompressorInputStream("bzip2", is);
-            final OutputStream os = 
Files.newOutputStream(decompressed.toPath());
-            IOUtils.copy(in, os);
-            is.close();
-            os.close();
+            try (InputStream is = Files.newInputStream(output.toPath());
+                    CompressorInputStream in = new 
CompressorStreamFactory().createCompressorInputStream("bzip2", is)) {
+                Files.copy(in, decompressed.toPath());
+            }
         }
 
-        assertEquals(input.length(),decompressed.length());
+        assertEquals(input.length(), decompressed.length());
     }
 
     @Test
diff --git 
a/src/test/java/org/apache/commons/compress/compressors/DeflateTestCase.java 
b/src/test/java/org/apache/commons/compress/compressors/DeflateTestCase.java
index c472d0c7..095eb4a8 100644
--- a/src/test/java/org/apache/commons/compress/compressors/DeflateTestCase.java
+++ b/src/test/java/org/apache/commons/compress/compressors/DeflateTestCase.java
@@ -38,13 +38,12 @@ public final class DeflateTestCase extends AbstractTestCase 
{
      * @throws Exception
      */
     @Test
-    public void testDeflateCreation()  throws Exception {
+    public void testDeflateCreation() throws Exception {
         final File input = getFile("test1.xml");
         final File output = new File(dir, "test1.xml.deflatez");
         try (OutputStream out = Files.newOutputStream(output.toPath())) {
-            try (CompressorOutputStream cos = new CompressorStreamFactory()
-                    .createCompressorOutputStream("deflate", out)) {
-                IOUtils.copy(Files.newInputStream(input.toPath()), cos);
+            try (CompressorOutputStream cos = new 
CompressorStreamFactory().createCompressorOutputStream("deflate", out)) {
+                Files.copy(input.toPath(), cos);
             }
         }
     }
@@ -59,11 +58,9 @@ public final class DeflateTestCase extends AbstractTestCase {
         final File input = getFile("bla.tar.deflatez");
         final File output = new File(dir, "bla.tar");
         try (InputStream is = Files.newInputStream(input.toPath())) {
-             // zlib header is expected by default
-            try (CompressorInputStream in = new CompressorStreamFactory()
-                    .createCompressorInputStream("deflate", is);
-                    OutputStream out = Files.newOutputStream(output.toPath())) 
{
-                IOUtils.copy(in, out);
+            // zlib header is expected by default
+            try (CompressorInputStream in = new 
CompressorStreamFactory().createCompressorInputStream("deflate", is)) {
+                Files.copy(in, output.toPath());
             }
         }
     }
@@ -81,7 +78,7 @@ public final class DeflateTestCase extends AbstractTestCase {
             final DeflateParameters params = new DeflateParameters();
             params.setWithZlibHeader(false);
             try (CompressorOutputStream cos = new 
DeflateCompressorOutputStream(out, params)) {
-                IOUtils.copy(Files.newInputStream(input.toPath()), cos);
+                Files.copy(input.toPath(), cos);
             }
         }
     }
@@ -98,9 +95,8 @@ public final class DeflateTestCase extends AbstractTestCase {
         try (InputStream is = Files.newInputStream(input.toPath())) {
             final DeflateParameters params = new DeflateParameters();
             params.setWithZlibHeader(false);
-            try (CompressorInputStream in = new 
DeflateCompressorInputStream(is, params);
-                    OutputStream out = Files.newOutputStream(output.toPath())) 
{
-                IOUtils.copy(in, out);
+            try (CompressorInputStream in = new 
DeflateCompressorInputStream(is, params)) {
+                Files.copy(in, output.toPath());
             }
         }
     }
diff --git 
a/src/test/java/org/apache/commons/compress/compressors/FramedSnappyTestCase.java
 
b/src/test/java/org/apache/commons/compress/compressors/FramedSnappyTestCase.java
index 764a40df..adf08790 100644
--- 
a/src/test/java/org/apache/commons/compress/compressors/FramedSnappyTestCase.java
+++ 
b/src/test/java/org/apache/commons/compress/compressors/FramedSnappyTestCase.java
@@ -60,20 +60,18 @@ public final class FramedSnappyTestCase
         testRoundtrip(getFile("COMPRESS-256.7z"));
     }
 
-    private void testRoundtrip(final File input)  throws Exception {
+    private void testRoundtrip(final File input) throws Exception {
         final long start = System.currentTimeMillis();
         final File outputSz = new File(dir, input.getName() + ".sz");
-        try (InputStream is = Files.newInputStream(input.toPath());
-             OutputStream os = Files.newOutputStream(outputSz.toPath());
-             CompressorOutputStream sos = new CompressorStreamFactory()
-                 .createCompressorOutputStream("snappy-framed", os)) {
-            IOUtils.copy(is, sos);
+        try (OutputStream os = Files.newOutputStream(outputSz.toPath());
+                CompressorOutputStream sos = new 
CompressorStreamFactory().createCompressorOutputStream("snappy-framed", os)) {
+            Files.copy(input.toPath(), sos);
         }
         // System.err.println(input.getName() + " written, uncompressed bytes: 
" + input.length()
-        //    + ", compressed bytes: " + outputSz.length() + " after " + 
(System.currentTimeMillis() - start) + "ms");
+        // + ", compressed bytes: " + outputSz.length() + " after " + 
(System.currentTimeMillis() - start) + "ms");
         try (InputStream is = Files.newInputStream(input.toPath());
-             CompressorInputStream sis = new CompressorStreamFactory()
-                 .createCompressorInputStream("snappy-framed", 
Files.newInputStream(outputSz.toPath()))) {
+                CompressorInputStream sis = new 
CompressorStreamFactory().createCompressorInputStream("snappy-framed",
+                        Files.newInputStream(outputSz.toPath()))) {
             final byte[] expected = IOUtils.toByteArray(is);
             final byte[] actual = IOUtils.toByteArray(sis);
             assertArrayEquals(expected, actual);
@@ -116,9 +114,8 @@ public final class FramedSnappyTestCase
         try (InputStream is = Files.newInputStream(input.toPath())) {
             // the intermediate BufferedInputStream is there for mark
             // support in the autodetection test
-            try (CompressorInputStream in = wrapper.wrap(new 
BufferedInputStream(is));
-                    OutputStream out = Files.newOutputStream(output.toPath())) 
{
-                IOUtils.copy(in, out);
+            try (CompressorInputStream in = wrapper.wrap(new 
BufferedInputStream(is))) {
+                Files.copy(in, output.toPath());
                 assertEquals(995, in.getBytesRead());
             }
         }
diff --git 
a/src/test/java/org/apache/commons/compress/compressors/GZipTestCase.java 
b/src/test/java/org/apache/commons/compress/compressors/GZipTestCase.java
index 9945401d..26df7816 100644
--- a/src/test/java/org/apache/commons/compress/compressors/GZipTestCase.java
+++ b/src/test/java/org/apache/commons/compress/compressors/GZipTestCase.java
@@ -102,16 +102,13 @@ public final class GZipTestCase extends AbstractTestCase {
         OutputStream out = null;
         CompressorInputStream cin = null;
         try {
-            in = Files.newInputStream(getFile("bla.tgz").toPath());
             out = new ByteArrayOutputStream();
-            IOUtils.copy(in, out);
-            in.close();
+            Files.copy(getFile("bla.tgz").toPath(), out);
             out.close();
 
             final byte[] data = ((ByteArrayOutputStream) out).toByteArray();
             in = new ByteArrayInputStream(data, 0, data.length - 1);
-            cin = new CompressorStreamFactory()
-                .createCompressorInputStream("gz", in);
+            cin = new 
CompressorStreamFactory().createCompressorInputStream("gz", in);
             out = new ByteArrayOutputStream();
 
             try {
@@ -135,20 +132,17 @@ public final class GZipTestCase extends AbstractTestCase {
     }
 
     private void testExtraFlags(final int compressionLevel, final int flag, 
final int bufferSize) throws Exception {
-        final byte[] content;
-        try (InputStream fis = 
Files.newInputStream(getFile("test3.xml").toPath())) {
-            content = IOUtils.toByteArray(fis);
-        }
+        final byte[] content = 
Files.readAllBytes(getFile("test3.xml").toPath());
 
         final ByteArrayOutputStream bout = new ByteArrayOutputStream();
 
         final GzipParameters parameters = new GzipParameters();
         parameters.setCompressionLevel(compressionLevel);
         parameters.setBufferSize(bufferSize);
-        final GzipCompressorOutputStream out = new 
GzipCompressorOutputStream(bout, parameters);
-        IOUtils.copy(new ByteArrayInputStream(content), out);
-        out.flush();
-        out.close();
+        try (GzipCompressorOutputStream out = new 
GzipCompressorOutputStream(bout, parameters)) {
+            IOUtils.copy(new ByteArrayInputStream(content), out);
+            out.flush();
+        }
 
         assertEquals("extra flags (XFL)", flag, bout.toByteArray()[8]);
     }
@@ -169,13 +163,12 @@ public final class GZipTestCase extends AbstractTestCase {
     }
 
     @Test
-    public void testGzipCreation()  throws Exception {
+    public void testGzipCreation() throws Exception {
         final File input = getFile("test1.xml");
         final File output = new File(dir, "test1.xml.gz");
         try (OutputStream out = Files.newOutputStream(output.toPath())) {
-            try (CompressorOutputStream cos = new CompressorStreamFactory()
-                    .createCompressorOutputStream("gz", out)) {
-                IOUtils.copy(Files.newInputStream(input.toPath()), cos);
+            try (CompressorOutputStream cos = new 
CompressorStreamFactory().createCompressorOutputStream("gz", out)) {
+                Files.copy(input.toPath(), cos);
             }
         }
     }
@@ -185,10 +178,8 @@ public final class GZipTestCase extends AbstractTestCase {
         final File input = getFile("bla.tgz");
         final File output = new File(dir, "bla.tar");
         try (InputStream is = Files.newInputStream(input.toPath())) {
-            try (CompressorInputStream in = new CompressorStreamFactory()
-                    .createCompressorInputStream("gz", is);
-                    OutputStream out = Files.newOutputStream(output.toPath())) 
{
-                IOUtils.copy(in, out);
+            try (CompressorInputStream in = new 
CompressorStreamFactory().createCompressorInputStream("gz", is);) {
+                Files.copy(in, output.toPath());
             }
         }
     }
@@ -291,13 +282,11 @@ public final class GZipTestCase extends AbstractTestCase {
         parameters.setOperatingSystem(13);
         parameters.setFilename("test3.xml");
         parameters.setComment("Umlaute möglich?");
-        try (GzipCompressorOutputStream out = new 
GzipCompressorOutputStream(bout, parameters); InputStream fis = 
Files.newInputStream(getFile("test3" +
-                ".xml").toPath())) {
-            IOUtils.copy(fis, out);
+        try (GzipCompressorOutputStream out = new 
GzipCompressorOutputStream(bout, parameters)) {
+            Files.copy(getFile("test3" + ".xml").toPath(), out);
         }
 
-        final GzipCompressorInputStream input =
-            new GzipCompressorInputStream(new 
ByteArrayInputStream(bout.toByteArray()));
+        final GzipCompressorInputStream input = new 
GzipCompressorInputStream(new ByteArrayInputStream(bout.toByteArray()));
         input.close();
         final GzipParameters readParams = input.getMetaData();
         assertEquals(Deflater.BEST_COMPRESSION, 
readParams.getCompressionLevel());
diff --git 
a/src/test/java/org/apache/commons/compress/compressors/LZMATestCase.java 
b/src/test/java/org/apache/commons/compress/compressors/LZMATestCase.java
index b5d3fa23..2045ae1e 100644
--- a/src/test/java/org/apache/commons/compress/compressors/LZMATestCase.java
+++ b/src/test/java/org/apache/commons/compress/compressors/LZMATestCase.java
@@ -33,31 +33,18 @@ import org.junit.jupiter.api.Test;
 
 public final class LZMATestCase extends AbstractTestCase {
 
-    private void copy(final InputStream in, final File output) throws 
IOException {
-        try (OutputStream out = Files.newOutputStream(output.toPath())) {
-            IOUtils.copy(in, out);
-        } finally {
-            in.close();
-        }
-    }
-
     @Test
     public void lzmaRoundtrip() throws Exception {
         final File input = getFile("test1.xml");
         final File compressed = new File(dir, "test1.xml.xz");
         try (OutputStream out = Files.newOutputStream(compressed.toPath())) {
-            try (CompressorOutputStream cos = new CompressorStreamFactory()
-                    .createCompressorOutputStream("lzma", out)) {
-                IOUtils.copy(Files.newInputStream(input.toPath()), cos);
+            try (CompressorOutputStream cos = new 
CompressorStreamFactory().createCompressorOutputStream("lzma", out)) {
+                Files.copy(input.toPath(), cos);
             }
         }
-        byte[] orig;
-        try (InputStream is = Files.newInputStream(input.toPath())) {
-            orig = IOUtils.toByteArray(is);
-        }
+        final byte[] orig = Files.readAllBytes(input.toPath());
         final byte[] uncompressed;
-        try (InputStream is = Files.newInputStream(compressed.toPath());
-             CompressorInputStream in = new LZMACompressorInputStream(is)) {
+        try (InputStream is = Files.newInputStream(compressed.toPath()); 
CompressorInputStream in = new LZMACompressorInputStream(is)) {
             uncompressed = IOUtils.toByteArray(in);
         }
         Assert.assertArrayEquals(orig, uncompressed);
@@ -68,12 +55,11 @@ public final class LZMATestCase extends AbstractTestCase {
         final File input = getFile("bla.tar.lzma");
         final byte[] buf = new byte[2];
         try (InputStream is = Files.newInputStream(input.toPath())) {
-            final LZMACompressorInputStream in =
-                    new LZMACompressorInputStream(is);
-            IOUtils.toByteArray(in);
-            Assert.assertEquals(-1, in.read(buf));
-            Assert.assertEquals(-1, in.read(buf));
-            in.close();
+            try (LZMACompressorInputStream in = new 
LZMACompressorInputStream(is)) {
+                IOUtils.toByteArray(in);
+                Assert.assertEquals(-1, in.read(buf));
+                Assert.assertEquals(-1, in.read(buf));
+            }
         }
     }
 
@@ -81,12 +67,11 @@ public final class LZMATestCase extends AbstractTestCase {
     public void singleByteReadConsistentlyReturnsMinusOneAtEof() throws 
IOException {
         final File input = getFile("bla.tar.lzma");
         try (InputStream is = Files.newInputStream(input.toPath())) {
-            final LZMACompressorInputStream in =
-                    new LZMACompressorInputStream(is);
-            IOUtils.toByteArray(in);
-            Assert.assertEquals(-1, in.read());
-            Assert.assertEquals(-1, in.read());
-            in.close();
+            try (LZMACompressorInputStream in = new 
LZMACompressorInputStream(is)) {
+                IOUtils.toByteArray(in);
+                Assert.assertEquals(-1, in.read());
+                Assert.assertEquals(-1, in.read());
+            }
         }
     }
 
@@ -95,8 +80,9 @@ public final class LZMATestCase extends AbstractTestCase {
         final File input = getFile("bla.tar.lzma");
         final File output = new File(dir, "bla.tar");
         try (InputStream is = Files.newInputStream(input.toPath())) {
-            final CompressorInputStream in = new LZMACompressorInputStream(is);
-            copy(in, output);
+            try (final CompressorInputStream in = new 
LZMACompressorInputStream(is)) {
+                Files.copy(in, output.toPath());
+            }
         }
     }
 
@@ -105,9 +91,9 @@ public final class LZMATestCase extends AbstractTestCase {
         final File input = getFile("bla.tar.lzma");
         final File output = new File(dir, "bla.tar");
         try (InputStream is = new 
BufferedInputStream(Files.newInputStream(input.toPath()))) {
-            final CompressorInputStream in = new CompressorStreamFactory()
-                    .createCompressorInputStream(is);
-            copy(in, output);
+            try (final CompressorInputStream in = new 
CompressorStreamFactory().createCompressorInputStream(is)) {
+                Files.copy(in, output.toPath());
+            }
         }
     }
 }
diff --git 
a/src/test/java/org/apache/commons/compress/compressors/Pack200TestCase.java 
b/src/test/java/org/apache/commons/compress/compressors/Pack200TestCase.java
index 120b6a61..44d5a738 100644
--- a/src/test/java/org/apache/commons/compress/compressors/Pack200TestCase.java
+++ b/src/test/java/org/apache/commons/compress/compressors/Pack200TestCase.java
@@ -55,15 +55,11 @@ public final class Pack200TestCase extends AbstractTestCase 
{
              ArchiveOutputStream os = 
ArchiveStreamFactory.DEFAULT.createArchiveOutputStream("jar", out)) {
 
             os.putArchiveEntry(new ZipArchiveEntry("testdata/test1.xml"));
-            try (InputStream inputStream = 
Files.newInputStream(file1.toPath())) {
-                IOUtils.copy(inputStream, os);
-            }
+            Files.copy(file1.toPath(), os);
             os.closeArchiveEntry();
 
             os.putArchiveEntry(new ZipArchiveEntry("testdata/test2.xml"));
-            try (InputStream inputStream = 
Files.newInputStream(file2.toPath())) {
-                IOUtils.copy(inputStream, os);
-            }
+            Files.copy(file2.toPath(), os);
             os.closeArchiveEntry();
         }
 
diff --git 
a/src/test/java/org/apache/commons/compress/compressors/ZTestCase.java 
b/src/test/java/org/apache/commons/compress/compressors/ZTestCase.java
index 1a29b12a..0b2f9eaf 100644
--- a/src/test/java/org/apache/commons/compress/compressors/ZTestCase.java
+++ b/src/test/java/org/apache/commons/compress/compressors/ZTestCase.java
@@ -38,21 +38,17 @@ public final class ZTestCase extends AbstractTestCase {
     public void testMatches() {
         assertFalse(ZCompressorInputStream.matches(new byte[] { 1, 2, 3, 4 }, 
4));
         assertFalse(ZCompressorInputStream.matches(new byte[] { 0x1f, 2, 3, 4 
}, 4));
-        assertFalse(ZCompressorInputStream.matches(new byte[] { 1, (byte)0x9d, 
3, 4 },
-                                                   4));
-        assertFalse(ZCompressorInputStream.matches(new byte[] { 0x1f, (byte) 
0x9d, 3, 4 },
-                                                   3));
-        assertTrue(ZCompressorInputStream.matches(new byte[] { 0x1f, (byte) 
0x9d, 3, 4 },
-                                                  4));
+        assertFalse(ZCompressorInputStream.matches(new byte[] { 1, (byte) 
0x9d, 3, 4 }, 4));
+        assertFalse(ZCompressorInputStream.matches(new byte[] { 0x1f, (byte) 
0x9d, 3, 4 }, 3));
+        assertTrue(ZCompressorInputStream.matches(new byte[] { 0x1f, (byte) 
0x9d, 3, 4 }, 4));
     }
 
     private void testUnarchive(final StreamWrapper<CompressorInputStream> 
wrapper) throws Exception {
         final File input = getFile("bla.tar.Z");
         final File output = new File(dir, "bla.tar");
         try (InputStream is = Files.newInputStream(input.toPath())) {
-            try (InputStream in = wrapper.wrap(is);
-                    OutputStream out = Files.newOutputStream(output.toPath())) 
{
-                IOUtils.copy(in, out);
+            try (InputStream in = wrapper.wrap(is)) {
+                Files.copy(in, output.toPath());
             }
         }
     }
@@ -64,14 +60,12 @@ public final class ZTestCase extends AbstractTestCase {
 
     @Test
     public void testZUnarchiveViaAutoDetection() throws Exception {
-        testUnarchive(is -> new CompressorStreamFactory()
-            .createCompressorInputStream(new BufferedInputStream(is)));
+        testUnarchive(is -> new 
CompressorStreamFactory().createCompressorInputStream(new 
BufferedInputStream(is)));
     }
 
     @Test
     public void testZUnarchiveViaFactory() throws Exception {
-        testUnarchive(is -> new CompressorStreamFactory()
-            .createCompressorInputStream(CompressorStreamFactory.Z, is));
+        testUnarchive(is -> new 
CompressorStreamFactory().createCompressorInputStream(CompressorStreamFactory.Z,
 is));
     }
 
 }
diff --git 
a/src/test/java/org/apache/commons/compress/compressors/brotli/BrotliCompressorInputStreamTest.java
 
b/src/test/java/org/apache/commons/compress/compressors/brotli/BrotliCompressorInputStreamTest.java
index 08bbbe7a..db9d1981 100644
--- 
a/src/test/java/org/apache/commons/compress/compressors/brotli/BrotliCompressorInputStreamTest.java
+++ 
b/src/test/java/org/apache/commons/compress/compressors/brotli/BrotliCompressorInputStreamTest.java
@@ -124,10 +124,8 @@ public class BrotliCompressorInputStreamTest extends 
AbstractTestCase {
         final File input = getFile("bla.tar.br");
         final File output = new File(dir, "bla.tar");
         try (InputStream is = Files.newInputStream(input.toPath())) {
-            try (CompressorInputStream in = new CompressorStreamFactory()
-                    .createCompressorInputStream("br", is);
-                    OutputStream out = Files.newOutputStream(output.toPath())) 
{
-                IOUtils.copy(in, out);
+            try (CompressorInputStream in = new 
CompressorStreamFactory().createCompressorInputStream("br", is)) {
+                Files.copy(in, output.toPath());
             }
         }
     }
diff --git 
a/src/test/java/org/apache/commons/compress/compressors/lz4/BlockLZ4CompressorRoundtripTest.java
 
b/src/test/java/org/apache/commons/compress/compressors/lz4/BlockLZ4CompressorRoundtripTest.java
index 90f5a8ad..ed440efa 100644
--- 
a/src/test/java/org/apache/commons/compress/compressors/lz4/BlockLZ4CompressorRoundtripTest.java
+++ 
b/src/test/java/org/apache/commons/compress/compressors/lz4/BlockLZ4CompressorRoundtripTest.java
@@ -67,17 +67,15 @@ public final class BlockLZ4CompressorRoundtripTest extends 
AbstractTestCase {
         final File input = getFile(testFile);
         long start = System.currentTimeMillis();
         final File outputSz = new File(dir, input.getName() + ".block.lz4");
-        try (InputStream is = Files.newInputStream(input.toPath());
-             final OutputStream os = Files.newOutputStream(outputSz.toPath());
-             BlockLZ4CompressorOutputStream los = new 
BlockLZ4CompressorOutputStream(os, params)) {
-            IOUtils.copy(is, los);
+        try (OutputStream os = Files.newOutputStream(outputSz.toPath()); 
BlockLZ4CompressorOutputStream los = new BlockLZ4CompressorOutputStream(os, 
params)) {
+            Files.copy(input.toPath(), los);
         }
         // System.err.println("Configuration: " + config);
         // System.err.println(input.getName() + " written, uncompressed bytes: 
" + input.length()
-        //    + ", compressed bytes: " + outputSz.length() + " after " + 
(System.currentTimeMillis() - start) + "ms");
+        // + ", compressed bytes: " + outputSz.length() + " after " + 
(System.currentTimeMillis() - start) + "ms");
         start = System.currentTimeMillis();
         try (InputStream is = Files.newInputStream(input.toPath());
-             BlockLZ4CompressorInputStream sis = new 
BlockLZ4CompressorInputStream(Files.newInputStream(outputSz.toPath()))) {
+                BlockLZ4CompressorInputStream sis = new 
BlockLZ4CompressorInputStream(Files.newInputStream(outputSz.toPath()))) {
             final byte[] expected = IOUtils.toByteArray(is);
             final byte[] actual = IOUtils.toByteArray(sis);
             Assert.assertArrayEquals(expected, actual);
diff --git 
a/src/test/java/org/apache/commons/compress/compressors/lz4/FactoryTest.java 
b/src/test/java/org/apache/commons/compress/compressors/lz4/FactoryTest.java
index 273b018c..057d02e1 100644
--- a/src/test/java/org/apache/commons/compress/compressors/lz4/FactoryTest.java
+++ b/src/test/java/org/apache/commons/compress/compressors/lz4/FactoryTest.java
@@ -45,17 +45,15 @@ public class FactoryTest extends AbstractTestCase {
         final File input = getFile("bla.tar");
         long start = System.currentTimeMillis();
         final File outputSz = new File(dir, input.getName() + "." + format + 
".lz4");
-        try (InputStream is = Files.newInputStream(input.toPath());
-             OutputStream os = Files.newOutputStream(outputSz.toPath());
-             OutputStream los = new 
CompressorStreamFactory().createCompressorOutputStream(format, os)) {
-            IOUtils.copy(is, los);
+        try (OutputStream os = Files.newOutputStream(outputSz.toPath());
+                OutputStream los = new 
CompressorStreamFactory().createCompressorOutputStream(format, os)) {
+            Files.copy(input.toPath(), los);
         }
         // System.err.println(input.getName() + " written, uncompressed bytes: 
" + input.length()
-        //    + ", compressed bytes: " + outputSz.length() + " after " + 
(System.currentTimeMillis() - start) + "ms");
+        // + ", compressed bytes: " + outputSz.length() + " after " + 
(System.currentTimeMillis() - start) + "ms");
         start = System.currentTimeMillis();
         try (InputStream is = Files.newInputStream(input.toPath());
-             InputStream sis = new CompressorStreamFactory()
-                 .createCompressorInputStream(format, 
Files.newInputStream(outputSz.toPath()))) {
+                InputStream sis = new 
CompressorStreamFactory().createCompressorInputStream(format, 
Files.newInputStream(outputSz.toPath()))) {
             final byte[] expected = IOUtils.toByteArray(is);
             final byte[] actual = IOUtils.toByteArray(sis);
             Assert.assertArrayEquals(expected, actual);
diff --git 
a/src/test/java/org/apache/commons/compress/compressors/lz4/FramedLZ4CompressorRoundtripTest.java
 
b/src/test/java/org/apache/commons/compress/compressors/lz4/FramedLZ4CompressorRoundtripTest.java
index f39cd739..6ec30675 100644
--- 
a/src/test/java/org/apache/commons/compress/compressors/lz4/FramedLZ4CompressorRoundtripTest.java
+++ 
b/src/test/java/org/apache/commons/compress/compressors/lz4/FramedLZ4CompressorRoundtripTest.java
@@ -85,15 +85,13 @@ public final class FramedLZ4CompressorRoundtripTest extends 
AbstractTestCase {
             expected = IOUtils.toByteArray(is);
         }
         final ByteArrayOutputStream bos = new ByteArrayOutputStream();
-        try (FramedLZ4CompressorOutputStream los = new 
FramedLZ4CompressorOutputStream(bos,
-            params)) {
+        try (FramedLZ4CompressorOutputStream los = new 
FramedLZ4CompressorOutputStream(bos, params)) {
             IOUtils.copy(new ByteArrayInputStream(expected), los);
         }
         // System.err.println(input.getName() + " written, uncompressed bytes: 
" + input.length()
-        //    + ", compressed bytes: " + outputSz.length() + " after " + 
(System.currentTimeMillis() - start) + "ms");
+        // + ", compressed bytes: " + outputSz.length() + " after " + 
(System.currentTimeMillis() - start) + "ms");
         start = System.currentTimeMillis();
-        try (FramedLZ4CompressorInputStream sis = new 
FramedLZ4CompressorInputStream(
-            new ByteArrayInputStream(bos.toByteArray()))) {
+        try (FramedLZ4CompressorInputStream sis = new 
FramedLZ4CompressorInputStream(new ByteArrayInputStream(bos.toByteArray()))) {
             final byte[] actual = IOUtils.toByteArray(sis);
             Assert.assertArrayEquals(expected, actual);
         }
diff --git 
a/src/test/java/org/apache/commons/compress/compressors/pack200/Pack200UtilsTest.java
 
b/src/test/java/org/apache/commons/compress/compressors/pack200/Pack200UtilsTest.java
index 6e38f6eb..b505d031 100644
--- 
a/src/test/java/org/apache/commons/compress/compressors/pack200/Pack200UtilsTest.java
+++ 
b/src/test/java/org/apache/commons/compress/compressors/pack200/Pack200UtilsTest.java
@@ -22,6 +22,7 @@ import java.io.File;
 import java.io.InputStream;
 import java.io.OutputStream;
 import java.nio.file.Files;
+import java.nio.file.StandardCopyOption;
 import java.util.HashMap;
 
 import org.apache.commons.compress.AbstractTestCase;
@@ -39,9 +40,8 @@ public final class Pack200UtilsTest extends AbstractTestCase {
         final File[] output = createTempDirAndFile();
         try {
             Pack200Utils.normalize(input, output[1], new HashMap<>());
-            try (InputStream is = Files.newInputStream(output[1].toPath())) {
-                final ArchiveInputStream in = ArchiveStreamFactory.DEFAULT
-                        .createArchiveInputStream("jar", is);
+            try (InputStream is = Files.newInputStream(output[1].toPath());
+                    ArchiveInputStream in = 
ArchiveStreamFactory.DEFAULT.createArchiveInputStream("jar", is)) {
 
                 ArchiveEntry entry = in.getNextEntry();
                 while (entry != null) {
@@ -52,9 +52,7 @@ public final class Pack200UtilsTest extends AbstractTestCase {
                         entry = in.getNextEntry();
                         continue;
                     }
-                    final OutputStream out = 
Files.newOutputStream(archiveEntry.toPath());
-                    IOUtils.copy(in, out);
-                    out.close();
+                    Files.copy(in, archiveEntry.toPath());
                     entry = in.getNextEntry();
                 }
 
@@ -71,23 +69,14 @@ public final class Pack200UtilsTest extends 
AbstractTestCase {
         final File input = getFile("bla.jar");
         final File[] output = createTempDirAndFile();
         try {
-            InputStream is = Files.newInputStream(input.toPath());
-            OutputStream os = null;
-            try {
-                os = Files.newOutputStream(output[1].toPath());
-                IOUtils.copy(is, os);
-            } finally {
-                is.close();
-                if (os != null) {
-                    os.close();
-                }
+            try (InputStream is = Files.newInputStream(input.toPath())) {
+                Files.copy(is, output[1].toPath(), 
StandardCopyOption.REPLACE_EXISTING);
             }
 
             Pack200Utils.normalize(output[1]);
-            is = Files.newInputStream(output[1].toPath());
-            try {
-                final ArchiveInputStream in = ArchiveStreamFactory.DEFAULT
-                    .createArchiveInputStream("jar", is);
+
+            try (InputStream is = Files.newInputStream(output[1].toPath());
+                    ArchiveInputStream in = 
ArchiveStreamFactory.DEFAULT.createArchiveInputStream("jar", is)) {
 
                 ArchiveEntry entry = in.getNextEntry();
                 while (entry != null) {
@@ -98,15 +87,9 @@ public final class Pack200UtilsTest extends AbstractTestCase 
{
                         entry = in.getNextEntry();
                         continue;
                     }
-                    final OutputStream out = 
Files.newOutputStream(archiveEntry.toPath());
-                    IOUtils.copy(in, out);
-                    out.close();
+                    Files.copy(in, archiveEntry.toPath());
                     entry = in.getNextEntry();
                 }
-
-                in.close();
-            } finally {
-                is.close();
             }
         } finally {
             output[1].delete();
diff --git 
a/src/test/java/org/apache/commons/compress/compressors/snappy/FramedSnappyCompressorInputStreamTest.java
 
b/src/test/java/org/apache/commons/compress/compressors/snappy/FramedSnappyCompressorInputStreamTest.java
index db7422de..342430df 100644
--- 
a/src/test/java/org/apache/commons/compress/compressors/snappy/FramedSnappyCompressorInputStreamTest.java
+++ 
b/src/test/java/org/apache/commons/compress/compressors/snappy/FramedSnappyCompressorInputStreamTest.java
@@ -65,10 +65,8 @@ public final class FramedSnappyCompressorInputStreamTest
     public void readIWAFile() throws Exception {
         try (ZipFile zip = new ZipFile(getFile("testNumbersNew.numbers"))) {
             try (InputStream is = 
zip.getInputStream(zip.getEntry("Index/Document.iwa"))) {
-                try (FramedSnappyCompressorInputStream in =
-                        new FramedSnappyCompressorInputStream(is, 
FramedSnappyDialect.IWORK_ARCHIVE);
-                        OutputStream out = Files.newOutputStream(new File(dir, 
"snappyIWATest.raw").toPath())) {
-                    IOUtils.copy(in, out);
+                try (FramedSnappyCompressorInputStream in = new 
FramedSnappyCompressorInputStream(is, FramedSnappyDialect.IWORK_ARCHIVE)) {
+                    Files.copy(in, new File(dir, 
"snappyIWATest.raw").toPath());
                 }
             }
         }
@@ -81,13 +79,10 @@ public final class FramedSnappyCompressorInputStreamTest
     public void readIWAFileWithBiggerOffset() throws Exception {
         final File o = new File(dir, "COMPRESS-358.raw");
         try (InputStream is = 
Files.newInputStream(getFile("COMPRESS-358.iwa").toPath());
-             FramedSnappyCompressorInputStream in =
-                 new FramedSnappyCompressorInputStream(is, 1<<16, 
FramedSnappyDialect.IWORK_ARCHIVE);
-            OutputStream out = Files.newOutputStream(o.toPath())) {
-            IOUtils.copy(in, out);
+                FramedSnappyCompressorInputStream in = new 
FramedSnappyCompressorInputStream(is, 1 << 16, 
FramedSnappyDialect.IWORK_ARCHIVE);) {
+            Files.copy(in, o.toPath());
         }
-        try (InputStream a = Files.newInputStream(o.toPath());
-             InputStream e = 
Files.newInputStream(getFile("COMPRESS-358.uncompressed").toPath())) {
+        try (InputStream a = Files.newInputStream(o.toPath()); InputStream e = 
Files.newInputStream(getFile("COMPRESS-358.uncompressed").toPath())) {
             final byte[] expected = IOUtils.toByteArray(e);
             final byte[] actual = IOUtils.toByteArray(a);
             assertArrayEquals(expected, actual);
@@ -143,37 +138,15 @@ public final class FramedSnappyCompressorInputStreamTest
         final File outputSz = new File(dir, "lorem-ipsum.1");
         final File outputGz = new File(dir, "lorem-ipsum.2");
         try (InputStream isSz = 
Files.newInputStream(getFile("lorem-ipsum.txt.sz").toPath())) {
-            InputStream in = new FramedSnappyCompressorInputStream(isSz);
-            OutputStream out = null;
-            try {
-                out = Files.newOutputStream(outputSz.toPath());
-                IOUtils.copy(in, out);
-            } finally {
-                if (out != null) {
-                    out.close();
-                }
-                in.close();
+            try (InputStream in = new FramedSnappyCompressorInputStream(isSz)) 
{
+                Files.copy(in, outputSz.toPath());
             }
-            try (InputStream isGz = 
Files.newInputStream(getFile("lorem-ipsum.txt.gz").toPath())) {
-                in = new GzipCompressorInputStream(isGz);
-                try {
-                    out = Files.newOutputStream(outputGz.toPath());
-                    IOUtils.copy(in, out);
-                } finally {
-                    if (out != null) {
-                        out.close();
-                    }
-                    in.close();
-                }
+            try (InputStream isGz = 
Files.newInputStream(getFile("lorem-ipsum.txt.gz").toPath()); InputStream in = 
new GzipCompressorInputStream(isGz)) {
+                Files.copy(in, outputGz.toPath());
             }
         }
 
-        try (InputStream sz = Files.newInputStream(outputSz.toPath())) {
-            try (InputStream gz = Files.newInputStream(outputGz.toPath())) {
-                assertArrayEquals(IOUtils.toByteArray(sz),
-                        IOUtils.toByteArray(gz));
-            }
-        }
+        assertArrayEquals(Files.readAllBytes(outputSz.toPath()), 
Files.readAllBytes(outputGz.toPath()));
     }
 
     @Test
diff --git 
a/src/test/java/org/apache/commons/compress/compressors/snappy/SnappyRoundtripTest.java
 
b/src/test/java/org/apache/commons/compress/compressors/snappy/SnappyRoundtripTest.java
index 96972bb5..651c78b6 100644
--- 
a/src/test/java/org/apache/commons/compress/compressors/snappy/SnappyRoundtripTest.java
+++ 
b/src/test/java/org/apache/commons/compress/compressors/snappy/SnappyRoundtripTest.java
@@ -104,22 +104,20 @@ public final class SnappyRoundtripTest extends 
AbstractTestCase {
     private void roundTripTest(final File input, final Parameters params) 
throws IOException {
         long start = System.currentTimeMillis();
         final File outputSz = new File(dir, input.getName() + ".raw.sz");
-        try (InputStream is = Files.newInputStream(input.toPath());
-             OutputStream os = Files.newOutputStream(outputSz.toPath());
-             SnappyCompressorOutputStream sos = new 
SnappyCompressorOutputStream(os, input.length(), params)) {
-            IOUtils.copy(is, sos);
+        try (OutputStream os = Files.newOutputStream(outputSz.toPath());
+                SnappyCompressorOutputStream sos = new 
SnappyCompressorOutputStream(os, input.length(), params)) {
+            Files.copy(input.toPath(), sos);
         }
         // System.err.println(input.getName() + " written, uncompressed bytes: 
" + input.length()
-        //    + ", compressed bytes: " + outputSz.length() + " after " + 
(System.currentTimeMillis() - start) + "ms");
+        // + ", compressed bytes: " + outputSz.length() + " after " + 
(System.currentTimeMillis() - start) + "ms");
         start = System.currentTimeMillis();
         try (InputStream is = Files.newInputStream(input.toPath());
-             SnappyCompressorInputStream sis = new 
SnappyCompressorInputStream(Files.newInputStream(outputSz.toPath()),
-                 params.getWindowSize())) {
+                SnappyCompressorInputStream sis = new 
SnappyCompressorInputStream(Files.newInputStream(outputSz.toPath()), 
params.getWindowSize())) {
             final byte[] expected = IOUtils.toByteArray(is);
             final byte[] actual = IOUtils.toByteArray(sis);
             Assert.assertArrayEquals(expected, actual);
         }
-        //System.err.println(outputSz.getName() + " read after " + 
(System.currentTimeMillis() - start) + "ms");
+        // System.err.println(outputSz.getName() + " read after " + 
(System.currentTimeMillis() - start) + "ms");
     }
 
     private void roundTripTest(final String testFile) throws IOException {
diff --git 
a/src/test/java/org/apache/commons/compress/compressors/zstandard/ZstdCompressorInputStreamTest.java
 
b/src/test/java/org/apache/commons/compress/compressors/zstandard/ZstdCompressorInputStreamTest.java
index c94c2963..60a7fad3 100644
--- 
a/src/test/java/org/apache/commons/compress/compressors/zstandard/ZstdCompressorInputStreamTest.java
+++ 
b/src/test/java/org/apache/commons/compress/compressors/zstandard/ZstdCompressorInputStreamTest.java
@@ -134,10 +134,8 @@ public class ZstdCompressorInputStreamTest extends 
AbstractTestCase {
         final File input = getFile("bla.tar.zst");
         final File output = new File(dir, "bla.tar");
         try (InputStream is = Files.newInputStream(input.toPath())) {
-            try (CompressorInputStream in = new CompressorStreamFactory()
-                    .createCompressorInputStream("zstd", is);
-                OutputStream out = Files.newOutputStream(output.toPath())) {
-                IOUtils.copy(in, out);
+            try (CompressorInputStream in = new 
CompressorStreamFactory().createCompressorInputStream("zstd", is);) {
+                Files.copy(in, output.toPath());
             }
         }
     }
diff --git 
a/src/test/java/org/apache/commons/compress/compressors/zstandard/ZstdRoundtripTest.java
 
b/src/test/java/org/apache/commons/compress/compressors/zstandard/ZstdRoundtripTest.java
index beb422a2..e9a18e10 100644
--- 
a/src/test/java/org/apache/commons/compress/compressors/zstandard/ZstdRoundtripTest.java
+++ 
b/src/test/java/org/apache/commons/compress/compressors/zstandard/ZstdRoundtripTest.java
@@ -48,16 +48,14 @@ public class ZstdRoundtripTest extends AbstractTestCase {
         final File input = getFile("bla.tar");
         long start = System.currentTimeMillis();
         final File output = new File(dir, input.getName() + ".zstd");
-        try (InputStream is = Files.newInputStream(input.toPath());
-             OutputStream os = Files.newOutputStream(output.toPath());
-             CompressorOutputStream zos = new 
CompressorStreamFactory().createCompressorOutputStream("zstd", os)) {
-            IOUtils.copy(is, zos);
+        try (OutputStream os = Files.newOutputStream(output.toPath());
+                CompressorOutputStream zos = new 
CompressorStreamFactory().createCompressorOutputStream("zstd", os)) {
+            Files.copy(input.toPath(), zos);
         }
         start = System.currentTimeMillis();
-        try (InputStream is = Files.newInputStream(input.toPath());
-             CompressorInputStream zis = new CompressorStreamFactory()
-             .createCompressorInputStream("zstd", 
Files.newInputStream(output.toPath()))) {
-            final byte[] expected = IOUtils.toByteArray(is);
+        try (final InputStream inputStream = 
Files.newInputStream(output.toPath());
+                CompressorInputStream zis = new 
CompressorStreamFactory().createCompressorInputStream("zstd", inputStream)) {
+            final byte[] expected = Files.readAllBytes(input.toPath());
             final byte[] actual = IOUtils.toByteArray(zis);
             Assert.assertArrayEquals(expected, actual);
         }
@@ -67,10 +65,9 @@ public class ZstdRoundtripTest extends AbstractTestCase {
         final File input = getFile("bla.tar");
         long start = System.currentTimeMillis();
         final File output = new File(dir, input.getName() + ".zstd");
-        try (InputStream is = Files.newInputStream(input.toPath());
-             FileOutputStream os = new FileOutputStream(output);
+        try (FileOutputStream os = new FileOutputStream(output);
              ZstdCompressorOutputStream zos = oc.wrap(os)) {
-            IOUtils.copy(is, zos);
+            Files.copy(input.toPath(), zos);
         }
         //System.err.println(input.getName() + " written, uncompressed bytes: 
" + input.length()
         //    + ", compressed bytes: " + output.length() + " after " + 
(System.currentTimeMillis() - start) + "ms");

Reply via email to