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


The following commit(s) were added to refs/heads/master by this push:
     new 7570beb3 Use try-with-resources
7570beb3 is described below

commit 7570beb39134ccf7989789a5c16785fdb363ff12
Author: Gary Gregory <garydgreg...@gmail.com>
AuthorDate: Fri Nov 3 15:16:49 2023 -0400

    Use try-with-resources
---
 .../compress/archivers/LongSymLinkTest.java        |  86 ++++++-------
 .../commons/compress/archivers/ZipTestCase.java    | 135 ++++++++-------------
 2 files changed, 89 insertions(+), 132 deletions(-)

diff --git 
a/src/test/java/org/apache/commons/compress/archivers/LongSymLinkTest.java 
b/src/test/java/org/apache/commons/compress/archivers/LongSymLinkTest.java
index 97b0816d..992e448d 100644
--- a/src/test/java/org/apache/commons/compress/archivers/LongSymLinkTest.java
+++ b/src/test/java/org/apache/commons/compress/archivers/LongSymLinkTest.java
@@ -17,7 +17,6 @@
 
 package org.apache.commons.compress.archivers;
 
-import static org.junit.jupiter.api.Assertions.assertDoesNotThrow;
 import static org.junit.jupiter.api.Assertions.assertTrue;
 import static org.junit.jupiter.api.Assertions.fail;
 
@@ -44,9 +43,8 @@ import org.junit.jupiter.params.provider.MethodSource;
 /**
  * Test that can read various tar file examples.
  *
-  * Files must be in resources/longsymlink, and there must be a file.txt 
containing
- * the list of files in the archives.
-*/
+ * Files must be in resources/longsymlink, and there must be a file.txt 
containing the list of files in the archives.
+ */
 public class LongSymLinkTest extends AbstractTestCase {
 
     private static final ClassLoader CLASSLOADER = 
LongSymLinkTest.class.getClassLoader();
@@ -72,19 +70,18 @@ public class LongSymLinkTest extends AbstractTestCase {
     @BeforeAll
     public static void setUpFileList() throws Exception {
         assertTrue(ARCDIR.exists());
-        final File listing= new File(ARCDIR,"files.txt");
+        final File listing = new File(ARCDIR, "files.txt");
         assertTrue(listing.canRead(), "files.txt is readable");
-        final BufferedReader br = new 
BufferedReader(Files.newBufferedReader(listing.toPath()));
-        String line;
-        while ((line=br.readLine())!=null){
-            if (!line.startsWith("#")){
-                FILELIST.add(line);
+        try (BufferedReader br = new 
BufferedReader(Files.newBufferedReader(listing.toPath()))) {
+            String line;
+            while ((line = br.readLine()) != null) {
+                if (!line.startsWith("#")) {
+                    FILELIST.add(line);
+                }
             }
         }
-        br.close();
     }
 
-
     @Override
     protected String getExpectedString(final ArchiveEntry entry) {
         if (entry instanceof TarArchiveEntry) {
@@ -100,49 +97,44 @@ public class LongSymLinkTest extends AbstractTestCase {
     @MethodSource("data")
     public void testArchive(final File file) throws Exception {
         @SuppressWarnings("unchecked") // fileList is of correct type
-        final
-        ArrayList<String> expected = (ArrayList<String>) FILELIST.clone();
+        final ArrayList<String> expected = (ArrayList<String>) 
FILELIST.clone();
         final String name = file.getName();
-        if ("minotaur.jar".equals(name) || "minotaur-0.jar".equals(name)){
+        if ("minotaur.jar".equals(name) || "minotaur-0.jar".equals(name)) {
             expected.add("META-INF/");
             expected.add("META-INF/MANIFEST.MF");
         }
-        final ArchiveInputStream<?> ais = factory.createArchiveInputStream(new 
BufferedInputStream(Files.newInputStream(file.toPath())));
-        // check if expected type recognized
-        if (name.endsWith(".tar")){
-            assertTrue(ais instanceof TarArchiveInputStream);
-        } else if (name.endsWith(".jar") || name.endsWith(".zip")){
-            assertTrue(ais instanceof ZipArchiveInputStream);
-        } else if (name.endsWith(".cpio")){
-            assertTrue(ais instanceof CpioArchiveInputStream);
-            // Hack: cpio does not add trailing "/" to directory names
-            for(int i=0; i < expected.size(); i++){
-                final String ent = expected.get(i);
-                if (ent.endsWith("/")){
-                    expected.set(i, ent.substring(0, ent.length()-1));
+        try (ArchiveInputStream<?> ais = factory.createArchiveInputStream(new 
BufferedInputStream(Files.newInputStream(file.toPath())))) {
+            // check if expected type recognized
+            if (name.endsWith(".tar")) {
+                assertTrue(ais instanceof TarArchiveInputStream);
+            } else if (name.endsWith(".jar") || name.endsWith(".zip")) {
+                assertTrue(ais instanceof ZipArchiveInputStream);
+            } else if (name.endsWith(".cpio")) {
+                assertTrue(ais instanceof CpioArchiveInputStream);
+                // Hack: cpio does not add trailing "/" to directory names
+                for (int i = 0; i < expected.size(); i++) {
+                    final String ent = expected.get(i);
+                    if (ent.endsWith("/")) {
+                        expected.set(i, ent.substring(0, ent.length() - 1));
+                    }
                 }
-            }
-        } else if (name.endsWith(".ar")){
-            assertTrue(ais instanceof ArArchiveInputStream);
-            // CPIO does not store directories or directory names
-            expected.clear();
-            for (final String ent : FILELIST) {
-                if (!ent.endsWith("/")) {// not a directory
-                    final int lastSlash = ent.lastIndexOf('/');
-                    if (lastSlash >= 0) { // extract path name
-                        expected.add(ent.substring(lastSlash + 1));
-                    } else {
-                        expected.add(ent);
+            } else if (name.endsWith(".ar")) {
+                assertTrue(ais instanceof ArArchiveInputStream);
+                // CPIO does not store directories or directory names
+                expected.clear();
+                for (final String ent : FILELIST) {
+                    if (!ent.endsWith("/")) {// not a directory
+                        final int lastSlash = ent.lastIndexOf('/');
+                        if (lastSlash >= 0) { // extract path name
+                            expected.add(ent.substring(lastSlash + 1));
+                        } else {
+                            expected.add(ent);
+                        }
                     }
                 }
+            } else {
+                fail("Unexpected file type: " + name);
             }
-        } else {
-            fail("Unexpected file type: "+name);
-        }
-        try {
-            assertDoesNotThrow(() -> checkArchiveContent(ais, expected), 
"Error processing " + file.getName());
-        } finally {
-            ais.close();
         }
     }
 }
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 d69d2d9c..5b0262d2 100644
--- a/src/test/java/org/apache/commons/compress/archivers/ZipTestCase.java
+++ b/src/test/java/org/apache/commons/compress/archivers/ZipTestCase.java
@@ -88,7 +88,8 @@ public final class ZipTestCase extends AbstractTestCase {
 
     private void assertSameFileContents(final File expectedFile, final File 
actualFile) throws IOException {
         final int size = (int) Math.max(expectedFile.length(), 
actualFile.length());
-        try (final ZipFile expected = new ZipFile(expectedFile); final ZipFile 
actual = new ZipFile(actualFile)) {
+        try (final ZipFile expected = new ZipFile(expectedFile);
+                final ZipFile actual = new ZipFile(actualFile)) {
             final byte[] expectedBuf = new byte[size];
             final byte[] actualBuf = new byte[size];
 
@@ -110,7 +111,7 @@ public final class ZipTestCase extends AbstractTestCase {
                 assertEquals(expectedElement.getInternalAttributes(), 
actualElement.getInternalAttributes());
 
                 try (final InputStream actualIs = 
actual.getInputStream(actualElement);
-                    final InputStream expectedIs = 
expected.getInputStream(expectedElement)) {
+                        final InputStream expectedIs = 
expected.getInputStream(expectedElement)) {
                     IOUtils.readFully(expectedIs, expectedBuf);
                     IOUtils.readFully(actualIs, actualBuf);
                 }
@@ -133,8 +134,7 @@ public final class ZipTestCase extends AbstractTestCase {
         return result;
     }
 
-    private void createArchiveEntry(final String payload, final 
ZipArchiveOutputStream zos, final String name)
-            throws IOException {
+    private void createArchiveEntry(final String payload, final 
ZipArchiveOutputStream zos, final String name) throws IOException {
         final ZipArchiveEntry in = new ZipArchiveEntry(name);
         zos.putArchiveEntry(in);
 
@@ -147,8 +147,7 @@ public final class ZipTestCase extends AbstractTestCase {
         return zos;
     }
 
-    private File createReferenceFile(final Zip64Mode zipMode, final String 
prefix)
-            throws IOException {
+    private File createReferenceFile(final Zip64Mode zipMode, final String 
prefix) throws IOException {
         final File reference = createTempFile(prefix, ".zip");
         try (final ZipArchiveOutputStream zos = new 
ZipArchiveOutputStream(reference)) {
             zos.setUseZip64(zipMode);
@@ -167,8 +166,7 @@ public final class ZipTestCase extends AbstractTestCase {
         final File directoryToZip = getFilesToZip();
         final File outputZipFile = new File(getTempDirFile(), "splitZip.zip");
         final long splitSize = 100 * 1024L; /* 100 KB */
-        try (final ZipArchiveOutputStream zipArchiveOutputStream = new 
ZipArchiveOutputStream(outputZipFile,
-            splitSize)) {
+        try (final ZipArchiveOutputStream zipArchiveOutputStream = new 
ZipArchiveOutputStream(outputZipFile, splitSize)) {
             addFilesToZip(zipArchiveOutputStream, directoryToZip);
         }
     }
@@ -195,7 +193,7 @@ public final class ZipTestCase extends AbstractTestCase {
                 outputFile = new File(getTempDirFile(), zipEntry.getName());
 
                 try (InputStream inputStream = 
zipFile.getInputStream(zipEntry);
-                    OutputStream outputStream = 
Files.newOutputStream(outputFile.toPath())) {
+                        OutputStream outputStream = 
Files.newOutputStream(outputFile.toPath())) {
                     buffer = new byte[(int) zipEntry.getSize()];
                     while ((readLen = inputStream.read(buffer)) > 0) {
                         outputStream.write(buffer, 0, readLen);
@@ -206,7 +204,7 @@ public final class ZipTestCase extends AbstractTestCase {
         return getTempDirFile().listFiles()[0];
     }
 
-    private void readStream(final InputStream in, final ArchiveEntry entry, 
final Map<String,List<List<Long>>> map) throws IOException {
+    private void readStream(final InputStream in, final ArchiveEntry entry, 
final Map<String, List<List<Long>>> map) throws IOException {
         final byte[] buf = new byte[4096];
         final InputStreamStatistics stats = (InputStreamStatistics) in;
         while (in.read(buf) != -1) {
@@ -228,9 +226,8 @@ public final class ZipTestCase extends AbstractTestCase {
 
         final File lastFile = new File(getTempDirFile(), "splitZip.zip");
         try (SeekableByteChannel channel = 
ZipSplitReadOnlySeekableByteChannel.buildFromLastSplitSegment(lastFile);
-            InputStream inputStream = Channels.newInputStream(channel);
-            ZipArchiveInputStream splitInputStream = new 
ZipArchiveInputStream(inputStream,
-                UTF_8.toString(), true, false, true)) {
+                InputStream inputStream = Channels.newInputStream(channel);
+                ZipArchiveInputStream splitInputStream = new 
ZipArchiveInputStream(inputStream, UTF_8.toString(), true, false, true)) {
 
             ArchiveEntry entry;
             final int filesNum = countNonDirectories(directoryToZip);
@@ -242,8 +239,7 @@ public final class ZipTestCase extends AbstractTestCase {
                 // compare all files one by one
                 final File fileToCompare = new File(entry.getName());
                 try (InputStream inputStreamToCompare = 
Files.newInputStream(fileToCompare.toPath())) {
-                    assertArrayEquals(IOUtils.toByteArray(splitInputStream),
-                        IOUtils.toByteArray(inputStreamToCompare));
+                    assertArrayEquals(IOUtils.toByteArray(splitInputStream), 
IOUtils.toByteArray(inputStreamToCompare));
                 }
                 filesCount++;
             }
@@ -257,8 +253,7 @@ public final class ZipTestCase extends AbstractTestCase {
         final File directoryToZip = getFilesToZip();
         final File outputZipFile = new File(getTempDirFile(), "splitZip.zip");
         final long splitSize = 100 * 1024L; /* 100 KB */
-        try (final ZipArchiveOutputStream zipArchiveOutputStream = new 
ZipArchiveOutputStream(outputZipFile,
-            splitSize)) {
+        try (final ZipArchiveOutputStream zipArchiveOutputStream = new 
ZipArchiveOutputStream(outputZipFile, splitSize)) {
 
             // create a file that has the same name of one of the created 
split segments
             final File sameNameFile = new File(getTempDirFile(), 
"splitZip.z01");
@@ -268,9 +263,9 @@ public final class ZipTestCase extends AbstractTestCase {
         } catch (final Exception e) {
             // Ignore:
             // java.io.IOException: This archive contains unclosed entries.
-            //   at 
org.apache.commons.compress.archivers.zip.ZipArchiveOutputStream.finish(ZipArchiveOutputStream.java:563)
-            //   at 
org.apache.commons.compress.archivers.zip.ZipArchiveOutputStream.close(ZipArchiveOutputStream.java:1119)
-            //   at 
org.apache.commons.compress.archivers.ZipTestCase.buildSplitZipWithSegmentAlreadyExistThrowsException(ZipTestCase.java:715)
+            // at 
org.apache.commons.compress.archivers.zip.ZipArchiveOutputStream.finish(ZipArchiveOutputStream.java:563)
+            // at 
org.apache.commons.compress.archivers.zip.ZipArchiveOutputStream.close(ZipArchiveOutputStream.java:1119)
+            // at 
org.apache.commons.compress.archivers.ZipTestCase.buildSplitZipWithSegmentAlreadyExistThrowsException(ZipTestCase.java:715)
         }
     }
 
@@ -410,7 +405,6 @@ public final class ZipTestCase extends AbstractTestCase {
         final File tmp = createTempFile();
         ZipArchiveOutputStream zos = null;
         ZipFile zf = null;
-        InputStream fis = null;
         try {
             final File archive = createTempFile("test.", ".zip");
             zos = new ZipArchiveOutputStream(archive);
@@ -419,12 +413,11 @@ public final class ZipTestCase extends AbstractTestCase {
             in.setSize(tmp.length());
             zos.putArchiveEntry(in);
             final byte[] b = new byte[(int) tmp.length()];
-            fis = Files.newInputStream(tmp.toPath());
-            while (fis.read(b) > 0) {
-                zos.write(b);
+            try (InputStream fis = Files.newInputStream(tmp.toPath())) {
+                while (fis.read(b) > 0) {
+                    zos.write(b);
+                }
             }
-            fis.close();
-            fis = null;
             zos.closeArchiveEntry();
             zos.close();
             zos = null;
@@ -440,9 +433,6 @@ public final class ZipTestCase extends AbstractTestCase {
             if (zos != null) {
                 zos.close();
             }
-            if (fis != null) {
-                fis.close();
-            }
         }
     }
 
@@ -450,7 +440,6 @@ public final class ZipTestCase extends AbstractTestCase {
     public void testFileEntryFromFile() throws Exception {
         ZipArchiveOutputStream zos = null;
         ZipFile zf = null;
-        InputStream fis = null;
         final File tmpFile = createTempFile();
         try {
             final File archive = createTempFile("test.", ".zip");
@@ -458,12 +447,11 @@ public final class ZipTestCase extends AbstractTestCase {
             final ZipArchiveEntry in = new ZipArchiveEntry(tmpFile, "foo");
             zos.putArchiveEntry(in);
             final byte[] b = new byte[(int) tmpFile.length()];
-            fis = Files.newInputStream(tmpFile.toPath());
-            while (fis.read(b) > 0) {
-                zos.write(b);
+            try (InputStream fis = Files.newInputStream(tmpFile.toPath())) {
+                while (fis.read(b) > 0) {
+                    zos.write(b);
+                }
             }
-            fis.close();
-            fis = null;
             zos.closeArchiveEntry();
             zos.close();
             zos = null;
@@ -479,22 +467,18 @@ public final class ZipTestCase extends AbstractTestCase {
             if (zos != null) {
                 zos.close();
             }
-            if (fis != null) {
-                fis.close();
-            }
         }
     }
 
-    private void testInputStreamStatistics(final String fileName, final 
Map<String, List<Long>> expectedStatistics)
-        throws IOException, ArchiveException {
+    private void testInputStreamStatistics(final String fileName, final 
Map<String, List<Long>> expectedStatistics) throws IOException, 
ArchiveException {
         final File input = getFile(fileName);
 
-        final Map<String,List<List<Long>>> actualStatistics = new HashMap<>();
+        final Map<String, List<List<Long>>> actualStatistics = new HashMap<>();
 
         // stream access
         try (final InputStream fis = Files.newInputStream(input.toPath());
-            final ArchiveInputStream<?> in = 
ArchiveStreamFactory.DEFAULT.createArchiveInputStream("zip", fis)) {
-            for (ArchiveEntry entry; (entry = in.getNextEntry()) != null; ) {
+                final ArchiveInputStream<?> in = 
ArchiveStreamFactory.DEFAULT.createArchiveInputStream("zip", fis)) {
+            for (ArchiveEntry entry; (entry = in.getNextEntry()) != null;) {
                 readStream(in, entry, actualStatistics);
             }
         }
@@ -511,14 +495,12 @@ public final class ZipTestCase extends AbstractTestCase {
         }
 
         // compare statistics of stream / file access
-        for (final Map.Entry<String,List<List<Long>>> me : 
actualStatistics.entrySet()) {
-            assertEquals(me.getValue().get(0), me.getValue().get(1),
-                    "Mismatch of stats for: " + me.getKey());
+        for (final Map.Entry<String, List<List<Long>>> me : 
actualStatistics.entrySet()) {
+            assertEquals(me.getValue().get(0), me.getValue().get(1), "Mismatch 
of stats for: " + me.getKey());
         }
 
         for (final Map.Entry<String, List<Long>> me : 
expectedStatistics.entrySet()) {
-            assertEquals(me.getValue(), 
actualStatistics.get(me.getKey()).get(0),
-                    "Mismatch of stats with expected value for: " + 
me.getKey());
+            assertEquals(me.getValue(), 
actualStatistics.get(me.getKey()).get(0), "Mismatch of stats with expected 
value for: " + me.getKey());
         }
     }
 
@@ -567,11 +549,9 @@ public final class ZipTestCase extends AbstractTestCase {
     }
 
     /**
-     * Checks if all entries from a nested archive can be read.
-     * The archive: OSX_ArchiveWithNestedArchive.zip contains:
-     * NestedArchiv.zip and test.xml3.
+     * Checks if all entries from a nested archive can be read. The archive: 
OSX_ArchiveWithNestedArchive.zip contains: NestedArchiv.zip and test.xml3.
      *
-     * The nested archive:  NestedArchive.zip contains test1.xml and test2.xml
+     * The nested archive: NestedArchive.zip contains test1.xml and test2.xml
      *
      * @throws Exception
      */
@@ -611,30 +591,23 @@ public final class ZipTestCase extends AbstractTestCase {
     }
 
     /**
-     * Test case for being able to skip an entry in an
-     * {@link ZipArchiveInputStream} even if the compression method of that
-     * entry is unsupported.
+     * Test case for being able to skip an entry in an {@link 
ZipArchiveInputStream} even if the compression method of that entry is 
unsupported.
      *
-     * @see <a href="https://issues.apache.org/jira/browse/COMPRESS-93";
-     *        >COMPRESS-93</a>
+     * @see <a href="https://issues.apache.org/jira/browse/COMPRESS-93"; 
>COMPRESS-93</a>
      */
     @Test
-    public void testSkipEntryWithUnsupportedCompressionMethod()
-            throws IOException {
+    public void testSkipEntryWithUnsupportedCompressionMethod() throws 
IOException {
         try (ZipArchiveInputStream zip = new 
ZipArchiveInputStream(newInputStream("moby.zip"))) {
             final ZipArchiveEntry entry = zip.getNextZipEntry();
             assertEquals(ZipMethod.TOKENIZATION.getCode(), entry.getMethod(), 
"method");
             assertEquals("README", entry.getName());
             assertFalse(zip.canReadEntryData(entry));
-            assertDoesNotThrow(() -> assertNull(zip.getNextZipEntry()),
-                    "COMPRESS-93: Unable to skip an unsupported ZIP entry");
+            assertDoesNotThrow(() -> assertNull(zip.getNextZipEntry()), 
"COMPRESS-93: Unable to skip an unsupported ZIP entry");
         }
     }
 
     /**
-     * Test case for
-     * <a href="https://issues.apache.org/jira/browse/COMPRESS-208";
-     * >COMPRESS-208</a>.
+     * Test case for <a 
href="https://issues.apache.org/jira/browse/COMPRESS-208"; >COMPRESS-208</a>.
      */
     @Test
     public void testSkipsPK00Prefix() throws Exception {
@@ -648,9 +621,7 @@ public final class ZipTestCase extends AbstractTestCase {
     }
 
     /**
-     * Test case for
-     * <a href="https://issues.apache.org/jira/browse/COMPRESS-93";
-     * >COMPRESS-93</a>.
+     * Test case for <a 
href="https://issues.apache.org/jira/browse/COMPRESS-93"; >COMPRESS-93</a>.
      */
     @Test
     public void testTokenizationCompressionMethod() throws IOException {
@@ -679,8 +650,8 @@ public final class ZipTestCase extends AbstractTestCase {
     }
 
     /**
-     * Archives 2 files and unarchives it again. If the file length of result
-     * and source is the same, it looks like the operations have worked
+     * Archives 2 files and unarchives it again. If the file length of result 
and source is the same, it looks like the operations have worked
+     * 
      * @throws Exception
      */
     @Test
@@ -706,8 +677,7 @@ public final class ZipTestCase extends AbstractTestCase {
         final List<File> results = new ArrayList<>();
 
         try (final InputStream fileInputStream = 
Files.newInputStream(output.toPath())) {
-            try (ArchiveInputStream<ZipArchiveEntry> archiveInputStream = 
ArchiveStreamFactory.DEFAULT.createArchiveInputStream("zip",
-                fileInputStream)) {
+            try (ArchiveInputStream<ZipArchiveEntry> archiveInputStream = 
ArchiveStreamFactory.DEFAULT.createArchiveInputStream("zip", fileInputStream)) {
                 ZipArchiveEntry entry;
                 while ((entry = archiveInputStream.getNextEntry()) != null) {
                     final File outfile = new 
File(tempResultDir.getCanonicalPath() + "/result/" + entry.getName());
@@ -726,8 +696,8 @@ public final class ZipTestCase extends AbstractTestCase {
     }
 
     /**
-     * Archives 2 files and unarchives it again. If the file contents of result
-     * and source is the same, it looks like the operations have worked
+     * Archives 2 files and unarchives it again. If the file contents of 
result and source is the same, it looks like the operations have worked
+     * 
      * @throws Exception
      */
     @Test
@@ -752,8 +722,7 @@ public final class ZipTestCase extends AbstractTestCase {
             }
 
             // Unarchive the same
-            try (ZipArchiveInputStream inputStream = 
ArchiveStreamFactory.DEFAULT.createArchiveInputStream("zip",
-                new ByteArrayInputStream(channel.array()))) {
+            try (ZipArchiveInputStream inputStream = 
ArchiveStreamFactory.DEFAULT.createArchiveInputStream("zip", new 
ByteArrayInputStream(channel.array()))) {
 
                 ZipArchiveEntry entry;
                 while ((entry = inputStream.getNextEntry()) != null) {
@@ -772,9 +741,8 @@ public final class ZipTestCase extends AbstractTestCase {
         Path archivePath;
         ZipArchiveOutputStream zos = null;
         ZipFile zf = null;
-        InputStream fis = null;
         final File tmpFile = createTempFile();
-        
+
         final Path tmpFilePath = tmpFile.toPath();
         try {
             final File archiveFile = createTempFile("test.", ".zip");
@@ -784,12 +752,11 @@ public final class ZipTestCase extends AbstractTestCase {
             final ZipArchiveEntry in = zos.createArchiveEntry(tmpFilePath, 
"foo");
             zos.putArchiveEntry(in);
             final byte[] b = new byte[(int) tmpFile.length()];
-            fis = Files.newInputStream(tmpFile.toPath());
-            while (fis.read(b) > 0) {
-                zos.write(b);
+            try (InputStream fis = Files.newInputStream(tmpFile.toPath())) {
+                while (fis.read(b) > 0) {
+                    zos.write(b);
+                }
             }
-            fis.close();
-            fis = null;
             zos.closeArchiveEntry();
             zos.close();
             zos = null;
@@ -805,14 +772,12 @@ public final class ZipTestCase extends AbstractTestCase {
             if (zos != null) {
                 zos.close();
             }
-            if (fis != null) {
-                fis.close();
-            }
         }
     }
 
     /**
      * Simple unarchive test. Asserts nothing.
+     * 
      * @throws Exception
      */
     @Test

Reply via email to