From fcc17768d965d762888aa1f6c95d84fec626bbe4 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jorge=20Sol=C3=B3rzano?= Date: Sun, 29 Aug 2021 21:35:25 -0600 Subject: [PATCH] Avoid FileInputStream, FileOutputStream, FileReader and FileWriter MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit https://pmd.github.io/latest/pmd_rules_java_performance.html#avoidfilestream Signed-off-by: Jorge Solórzano --- .../plexus/archiver/AbstractUnArchiver.java | 5 ++-- .../DotDirectiveArchiveFinalizer.java | 6 +++-- .../PlexusIoBzip2ResourceCollection.java | 17 +++--------- .../plexus/archiver/gzip/GZipCompressor.java | 8 +++--- .../plexus/archiver/gzip/GZipUnArchiver.java | 11 ++++---- .../gzip/PlexusIoGzipResourceCollection.java | 20 +++++--------- .../plexus/archiver/jar/JarArchiver.java | 16 ++++++------ .../PlexusIoVirtualFileResource.java | 2 +- .../PlexusIoSnappyResourceCollection.java | 17 +++--------- .../plexus/archiver/tar/TarArchiver.java | 10 ++++--- .../codehaus/plexus/archiver/tar/TarFile.java | 8 +++--- .../plexus/archiver/tar/TarUnArchiver.java | 9 ++++--- .../plexus/archiver/util/ResourceUtils.java | 7 ++--- .../plexus/archiver/util/Streams.java | 26 +++++++++---------- .../xz/PlexusIoXZResourceCollection.java | 16 +++--------- .../archiver/zip/AbstractZipArchiver.java | 10 ++++--- .../archiver/zip/AbstractZipUnArchiver.java | 2 -- .../archiver/zip/AnonymousResource.java | 3 +-- .../archiver/zip/OffloadingOutputStream.java | 8 +++--- .../plexus/archiver/DuplicateFilesTest.java | 9 ++++--- .../archiver/bzip2/BZip2ArchiverTest.java | 3 ++- .../archiver/gzip/GZipArchiverTest.java | 5 ++-- .../archiver/jar/BaseJarArchiverTest.java | 4 ++- .../plexus/archiver/jar/JarArchiverTest.java | 6 +++-- .../plexus/archiver/jar/ManifestTest.java | 9 ++++--- .../archiver/snappy/SnappyArchiverTest.java | 3 ++- .../plexus/archiver/tar/TarArchiverTest.java | 16 +++++++----- .../archiver/tar/TarFileAttributesTest.java | 11 +++++--- .../plexus/archiver/tar/TarFileTest.java | 3 ++- .../plexus/archiver/xz/XzArchiverTest.java | 3 ++- .../zip/ConcurrentJarCreatorTest.java | 13 +++++----- .../plexus/archiver/zip/ZipArchiverTest.java | 12 +++++---- 32 files changed, 148 insertions(+), 150 deletions(-) diff --git a/src/main/java/org/codehaus/plexus/archiver/AbstractUnArchiver.java b/src/main/java/org/codehaus/plexus/archiver/AbstractUnArchiver.java index 0f2861b69..f3f389edc 100644 --- a/src/main/java/org/codehaus/plexus/archiver/AbstractUnArchiver.java +++ b/src/main/java/org/codehaus/plexus/archiver/AbstractUnArchiver.java @@ -18,13 +18,14 @@ import java.io.File; import java.io.FileNotFoundException; -import java.io.FileOutputStream; import java.io.IOException; import java.io.InputStream; import java.io.OutputStream; +import java.nio.file.Files; import java.util.ArrayList; import java.util.Date; import java.util.List; + import org.codehaus.plexus.archiver.util.ArchiveEntryUtils; import org.codehaus.plexus.components.io.attributes.SymlinkUtils; import org.codehaus.plexus.components.io.filemappers.FileMapper; @@ -363,7 +364,7 @@ else if ( isDirectory ) } else { - try ( OutputStream out = new FileOutputStream( targetFileName ) ) + try ( OutputStream out = Files.newOutputStream( targetFileName.toPath() ) ) { IOUtil.copy( compressedInputStream, out ); } diff --git a/src/main/java/org/codehaus/plexus/archiver/DotDirectiveArchiveFinalizer.java b/src/main/java/org/codehaus/plexus/archiver/DotDirectiveArchiveFinalizer.java index 8ccc57486..db2372c87 100644 --- a/src/main/java/org/codehaus/plexus/archiver/DotDirectiveArchiveFinalizer.java +++ b/src/main/java/org/codehaus/plexus/archiver/DotDirectiveArchiveFinalizer.java @@ -2,10 +2,12 @@ import java.io.BufferedReader; import java.io.File; -import java.io.FileReader; import java.io.IOException; +import java.nio.charset.StandardCharsets; +import java.nio.file.Files; import java.util.Collections; import java.util.List; + import org.codehaus.plexus.util.FileUtils; import org.codehaus.plexus.util.StringUtils; @@ -48,7 +50,7 @@ public void finalizeArchiveCreation( Archiver archiver ) for ( File dotFile : dotFiles ) { - try ( BufferedReader in = new BufferedReader( new FileReader( dotFile ) ) ) + try ( BufferedReader in = Files.newBufferedReader( dotFile.toPath(), StandardCharsets.UTF_8 ) ) { for ( String line = in.readLine(); line != null; line = in.readLine() ) diff --git a/src/main/java/org/codehaus/plexus/archiver/bzip2/PlexusIoBzip2ResourceCollection.java b/src/main/java/org/codehaus/plexus/archiver/bzip2/PlexusIoBzip2ResourceCollection.java index 112bee7ab..a985ec481 100644 --- a/src/main/java/org/codehaus/plexus/archiver/bzip2/PlexusIoBzip2ResourceCollection.java +++ b/src/main/java/org/codehaus/plexus/archiver/bzip2/PlexusIoBzip2ResourceCollection.java @@ -1,17 +1,18 @@ package org.codehaus.plexus.archiver.bzip2; +import static org.codehaus.plexus.archiver.util.Streams.fileInputStream; + import java.io.File; -import java.io.FileInputStream; import java.io.IOException; import java.io.InputStream; import java.util.HashMap; import javax.annotation.Nonnull; import javax.annotation.WillNotClose; + import org.codehaus.plexus.components.io.attributes.FileAttributes; import org.codehaus.plexus.components.io.attributes.PlexusIoResourceAttributes; import org.codehaus.plexus.components.io.resources.PlexusIoCompressedFileResourceCollection; import org.codehaus.plexus.components.io.resources.PlexusIoResourceCollection; -import org.codehaus.plexus.util.IOUtil; /** * Implementation of {@link PlexusIoResourceCollection} for @@ -27,17 +28,7 @@ public class PlexusIoBzip2ResourceCollection InputStream getInputStream( File file ) throws IOException { - InputStream fis = new FileInputStream( file ); - try - { - final InputStream result = BZip2UnArchiver.getBZip2InputStream( fis ); - fis = null; - return result; - } - finally - { - IOUtil.close( fis ); - } + return BZip2UnArchiver.getBZip2InputStream( fileInputStream( file ) ); } @Override protected PlexusIoResourceAttributes getAttributes( File file ) throws IOException diff --git a/src/main/java/org/codehaus/plexus/archiver/gzip/GZipCompressor.java b/src/main/java/org/codehaus/plexus/archiver/gzip/GZipCompressor.java index 435f9506e..e18213292 100644 --- a/src/main/java/org/codehaus/plexus/archiver/gzip/GZipCompressor.java +++ b/src/main/java/org/codehaus/plexus/archiver/gzip/GZipCompressor.java @@ -16,13 +16,15 @@ */ package org.codehaus.plexus.archiver.gzip; -import java.io.FileOutputStream; +import static org.codehaus.plexus.archiver.util.Streams.bufferedOutputStream; +import static org.codehaus.plexus.archiver.util.Streams.fileOutputStream; + import java.io.IOException; import java.io.OutputStream; import java.util.zip.GZIPOutputStream; + import org.codehaus.plexus.archiver.ArchiverException; import org.codehaus.plexus.archiver.util.Compressor; -import org.codehaus.plexus.archiver.util.Streams; public class GZipCompressor extends Compressor @@ -39,7 +41,7 @@ public void compress() { try { - zOut = Streams.bufferedOutputStream( new GZIPOutputStream( new FileOutputStream( getDestFile() ) ) ); + zOut = bufferedOutputStream( new GZIPOutputStream( fileOutputStream( getDestFile() ) ) ); compress( getSource(), zOut ); } catch ( IOException ioe ) diff --git a/src/main/java/org/codehaus/plexus/archiver/gzip/GZipUnArchiver.java b/src/main/java/org/codehaus/plexus/archiver/gzip/GZipUnArchiver.java index 8629188a0..469745601 100644 --- a/src/main/java/org/codehaus/plexus/archiver/gzip/GZipUnArchiver.java +++ b/src/main/java/org/codehaus/plexus/archiver/gzip/GZipUnArchiver.java @@ -16,17 +16,18 @@ */ package org.codehaus.plexus.archiver.gzip; +import static org.codehaus.plexus.archiver.util.Streams.copyFully; +import static org.codehaus.plexus.archiver.util.Streams.fileInputStream; +import static org.codehaus.plexus.archiver.util.Streams.fileOutputStream; + import java.io.File; -import java.io.FileInputStream; import java.io.IOException; import java.io.InputStream; import java.util.zip.GZIPInputStream; + import org.codehaus.plexus.archiver.AbstractUnArchiver; import org.codehaus.plexus.archiver.ArchiverException; import org.codehaus.plexus.archiver.util.Streams; -import static org.codehaus.plexus.archiver.util.Streams.copyFully; -import static org.codehaus.plexus.archiver.util.Streams.fileInputStream; -import static org.codehaus.plexus.archiver.util.Streams.fileOutputStream; /** * @author Emmanuel Venisse @@ -60,7 +61,7 @@ protected void execute() } } - private InputStream getGzipInputStream( FileInputStream in ) + private InputStream getGzipInputStream( InputStream in ) throws ArchiverException { try diff --git a/src/main/java/org/codehaus/plexus/archiver/gzip/PlexusIoGzipResourceCollection.java b/src/main/java/org/codehaus/plexus/archiver/gzip/PlexusIoGzipResourceCollection.java index 78f072d87..b2fcf2bb8 100644 --- a/src/main/java/org/codehaus/plexus/archiver/gzip/PlexusIoGzipResourceCollection.java +++ b/src/main/java/org/codehaus/plexus/archiver/gzip/PlexusIoGzipResourceCollection.java @@ -1,17 +1,19 @@ package org.codehaus.plexus.archiver.gzip; +import static org.codehaus.plexus.archiver.util.Streams.bufferedInputStream; +import static org.codehaus.plexus.archiver.util.Streams.fileInputStream; + import java.io.File; -import java.io.FileInputStream; import java.io.IOException; import java.io.InputStream; import java.util.HashMap; import java.util.zip.GZIPInputStream; + import javax.annotation.Nonnull; -import org.codehaus.plexus.archiver.util.Streams; + import org.codehaus.plexus.components.io.attributes.FileAttributes; import org.codehaus.plexus.components.io.attributes.PlexusIoResourceAttributes; import org.codehaus.plexus.components.io.resources.PlexusIoCompressedFileResourceCollection; -import org.codehaus.plexus.util.IOUtil; /** * Abstract base class for compressed files, aka singleton @@ -32,17 +34,7 @@ protected String getDefaultExtension() protected InputStream getInputStream( File file ) throws IOException { - InputStream fis = new FileInputStream( file ); - try - { - InputStream result = Streams.bufferedInputStream( new GZIPInputStream( fis ) ); - fis = null; - return result; - } - finally - { - IOUtil.close( fis ); - } + return bufferedInputStream( new GZIPInputStream( fileInputStream( file ) ) ); } @Override diff --git a/src/main/java/org/codehaus/plexus/archiver/jar/JarArchiver.java b/src/main/java/org/codehaus/plexus/archiver/jar/JarArchiver.java index 8dc7a34e6..8243894ab 100644 --- a/src/main/java/org/codehaus/plexus/archiver/jar/JarArchiver.java +++ b/src/main/java/org/codehaus/plexus/archiver/jar/JarArchiver.java @@ -16,10 +16,13 @@ */ package org.codehaus.plexus.archiver.jar; +import static org.codehaus.plexus.archiver.util.Streams.bufferedOutputStream; +import static org.codehaus.plexus.archiver.util.Streams.fileInputStream; +import static org.codehaus.plexus.archiver.util.Streams.fileOutputStream; + import java.io.ByteArrayInputStream; import java.io.ByteArrayOutputStream; import java.io.File; -import java.io.FileInputStream; import java.io.IOException; import java.io.InputStream; import java.io.OutputStreamWriter; @@ -35,6 +38,7 @@ import java.util.StringTokenizer; import java.util.TreeMap; import java.util.Vector; + import org.apache.commons.compress.archivers.zip.ZipArchiveEntry; import org.apache.commons.compress.archivers.zip.ZipArchiveOutputStream; import org.apache.commons.compress.archivers.zip.ZipFile; @@ -44,8 +48,6 @@ import org.codehaus.plexus.archiver.zip.ZipArchiver; import org.codehaus.plexus.logging.Logger; import org.codehaus.plexus.logging.console.ConsoleLogger; -import static org.codehaus.plexus.archiver.util.Streams.bufferedOutputStream; -import static org.codehaus.plexus.archiver.util.Streams.fileOutputStream; /** * Base class for tasks that build archives in JAR file format. @@ -195,7 +197,7 @@ public void setManifestEncoding( String manifestEncoding ) * * @param newManifest The new manifest * - * @throws ManifestException . + * @throws ManifestException */ public void addConfiguredManifest( Manifest newManifest ) throws ManifestException @@ -218,7 +220,6 @@ public void addConfiguredManifest( Manifest newManifest ) * @param manifestFile the manifest file to use. * * @throws org.codehaus.plexus.archiver.ArchiverException - * . */ @SuppressWarnings( { @@ -238,7 +239,7 @@ public void setManifest( File manifestFile ) private Manifest getManifest( File manifestFile ) throws ArchiverException { - try ( InputStream in = new FileInputStream( manifestFile ) ) + try ( InputStream in = fileInputStream( manifestFile ) ) { return getManifest( in ); } @@ -403,7 +404,6 @@ protected void finalizeZipOutputStream( ConcurrentJarCreator zOut ) * @throws IOException thrown if there is an error while creating the * index and adding it to the zip stream. * @throws org.codehaus.plexus.archiver.ArchiverException - * . */ private void createIndexList( ConcurrentJarCreator zOut ) throws IOException, ArchiverException @@ -772,7 +772,7 @@ public int compare( String o1, String o2 ) * @param files . * @param dirs . * - * @throws java.io.IOException . + * @throws java.io.IOException */ protected static void grabFilesAndDirs( String file, List dirs, List files ) throws IOException diff --git a/src/main/java/org/codehaus/plexus/archiver/resources/PlexusIoVirtualFileResource.java b/src/main/java/org/codehaus/plexus/archiver/resources/PlexusIoVirtualFileResource.java index 8eb3484c4..3c641a198 100644 --- a/src/main/java/org/codehaus/plexus/archiver/resources/PlexusIoVirtualFileResource.java +++ b/src/main/java/org/codehaus/plexus/archiver/resources/PlexusIoVirtualFileResource.java @@ -19,6 +19,7 @@ import java.io.IOException; import java.io.InputStream; import java.net.URL; + import javax.annotation.Nonnull; import org.codehaus.plexus.components.io.attributes.AttributeUtils; import org.codehaus.plexus.components.io.attributes.PlexusIoResourceAttributes; @@ -60,7 +61,6 @@ public InputStream getContents() throws IOException { throw new UnsupportedOperationException( "We're not really sure we can do this" ); - //return new FileInputStream( getFile() ); } @Override diff --git a/src/main/java/org/codehaus/plexus/archiver/snappy/PlexusIoSnappyResourceCollection.java b/src/main/java/org/codehaus/plexus/archiver/snappy/PlexusIoSnappyResourceCollection.java index d6a6299bd..1f9571c06 100644 --- a/src/main/java/org/codehaus/plexus/archiver/snappy/PlexusIoSnappyResourceCollection.java +++ b/src/main/java/org/codehaus/plexus/archiver/snappy/PlexusIoSnappyResourceCollection.java @@ -1,16 +1,17 @@ package org.codehaus.plexus.archiver.snappy; import java.io.File; -import java.io.FileInputStream; import java.io.IOException; import java.io.InputStream; import java.util.HashMap; + import javax.annotation.Nonnull; import javax.annotation.WillNotClose; + +import org.codehaus.plexus.archiver.util.Streams; import org.codehaus.plexus.components.io.attributes.FileAttributes; import org.codehaus.plexus.components.io.attributes.PlexusIoResourceAttributes; import org.codehaus.plexus.components.io.resources.PlexusIoCompressedFileResourceCollection; -import org.codehaus.plexus.util.IOUtil; /** * Implementation of {@link org.codehaus.plexus.components.io.resources.PlexusIoResourceCollection} for @@ -26,17 +27,7 @@ public class PlexusIoSnappyResourceCollection InputStream getInputStream( File file ) throws IOException { - InputStream fis = new FileInputStream( file ); - try - { - final InputStream result = SnappyUnArchiver.getSnappyInputStream( fis ); - fis = null; - return result; - } - finally - { - IOUtil.close( fis ); - } + return SnappyUnArchiver.getSnappyInputStream( Streams.fileInputStream( file ) ); } @Override protected PlexusIoResourceAttributes getAttributes( File file ) throws IOException diff --git a/src/main/java/org/codehaus/plexus/archiver/tar/TarArchiver.java b/src/main/java/org/codehaus/plexus/archiver/tar/TarArchiver.java index 98e2c559e..46978ab9a 100644 --- a/src/main/java/org/codehaus/plexus/archiver/tar/TarArchiver.java +++ b/src/main/java/org/codehaus/plexus/archiver/tar/TarArchiver.java @@ -16,12 +16,15 @@ */ package org.codehaus.plexus.archiver.tar; +import static org.codehaus.plexus.archiver.util.Streams.bufferedOutputStream; + import java.io.File; -import java.io.FileOutputStream; import java.io.IOException; import java.io.InputStream; import java.io.OutputStream; +import java.nio.file.Files; import java.util.zip.GZIPOutputStream; + import org.apache.commons.compress.archivers.tar.TarArchiveEntry; import org.apache.commons.compress.archivers.tar.TarArchiveOutputStream; import org.apache.commons.compress.compressors.bzip2.BZip2CompressorOutputStream; @@ -39,7 +42,6 @@ import org.codehaus.plexus.util.IOUtil; import org.codehaus.plexus.util.StringUtils; import org.iq80.snappy.SnappyOutputStream; -import static org.codehaus.plexus.archiver.util.Streams.bufferedOutputStream; /** * @author Emmanuel Venisse @@ -133,7 +135,7 @@ protected void execute() try { - tOut = new TarArchiveOutputStream( compress( compression, new FileOutputStream( tarFile ) ), "UTF8" ); + tOut = new TarArchiveOutputStream( compress( compression, Files.newOutputStream( tarFile.toPath() ) ), "UTF8" ); if ( longFileMode.isTruncateMode() ) { tOut.setLongFileMode( TarArchiveOutputStream.LONGFILE_TRUNCATE ); @@ -488,7 +490,7 @@ private OutputStream compress( TarCompressionMethod tarCompressionMethod, final { if ( TarCompressionMethod.gzip.equals( tarCompressionMethod ) ) { - return Streams.bufferedOutputStream( new GZIPOutputStream( ostream ) ); + return bufferedOutputStream( new GZIPOutputStream( ostream ) ); } else if ( TarCompressionMethod.bzip2.equals( tarCompressionMethod ) ) { diff --git a/src/main/java/org/codehaus/plexus/archiver/tar/TarFile.java b/src/main/java/org/codehaus/plexus/archiver/tar/TarFile.java index 3604bffc6..a9b262d37 100644 --- a/src/main/java/org/codehaus/plexus/archiver/tar/TarFile.java +++ b/src/main/java/org/codehaus/plexus/archiver/tar/TarFile.java @@ -1,17 +1,19 @@ package org.codehaus.plexus.archiver.tar; +import static org.codehaus.plexus.archiver.util.Streams.bufferedInputStream; + import java.io.File; -import java.io.FileInputStream; import java.io.FilterInputStream; import java.io.IOException; import java.io.InputStream; import java.lang.reflect.UndeclaredThrowableException; import java.util.Enumeration; import java.util.NoSuchElementException; + import org.apache.commons.compress.archivers.tar.TarArchiveEntry; import org.apache.commons.compress.archivers.tar.TarArchiveInputStream; import org.codehaus.plexus.archiver.ArchiveFile; -import static org.codehaus.plexus.archiver.util.Streams.bufferedInputStream; +import org.codehaus.plexus.archiver.util.Streams; /** *

@@ -149,7 +151,7 @@ public void close() protected InputStream getInputStream( File file ) throws IOException { - return new FileInputStream( file ); + return Streams.fileInputStream( file ); } private InputStream getInputStream( TarArchiveEntry entry, TarArchiveEntry currentEntry ) diff --git a/src/main/java/org/codehaus/plexus/archiver/tar/TarUnArchiver.java b/src/main/java/org/codehaus/plexus/archiver/tar/TarUnArchiver.java index f2a941a61..6a5b43c6e 100644 --- a/src/main/java/org/codehaus/plexus/archiver/tar/TarUnArchiver.java +++ b/src/main/java/org/codehaus/plexus/archiver/tar/TarUnArchiver.java @@ -16,12 +16,14 @@ */ package org.codehaus.plexus.archiver.tar; -import java.io.BufferedInputStream; +import static org.codehaus.plexus.archiver.util.Streams.bufferedInputStream; +import static org.codehaus.plexus.archiver.util.Streams.fileInputStream; + import java.io.File; -import java.io.FileInputStream; import java.io.IOException; import java.io.InputStream; import java.util.zip.GZIPInputStream; + import org.apache.commons.compress.archivers.tar.TarArchiveEntry; import org.apache.commons.compress.archivers.tar.TarArchiveInputStream; import org.apache.commons.compress.compressors.bzip2.BZip2CompressorInputStream; @@ -30,7 +32,6 @@ import org.codehaus.plexus.archiver.ArchiverException; import org.codehaus.plexus.archiver.util.Streams; import org.codehaus.plexus.components.io.filemappers.FileMapper; -import org.codehaus.plexus.util.IOUtil; import org.iq80.snappy.SnappyInputStream; /** @@ -102,7 +103,7 @@ protected void execute( File sourceFile, File destDirectory, FileMapper[] fileMa getLogger().info( "Expanding: " + sourceFile + " into " + destDirectory ); TarFile tarFile = new TarFile( sourceFile ); try ( TarArchiveInputStream tis = new TarArchiveInputStream( - decompress( compression, sourceFile, new BufferedInputStream( new FileInputStream( sourceFile ) ) ) ) ) + decompress( compression, sourceFile, bufferedInputStream( fileInputStream( sourceFile ) ) ) ) ) { TarArchiveEntry te; while ( ( te = tis.getNextTarEntry() ) != null ) diff --git a/src/main/java/org/codehaus/plexus/archiver/util/ResourceUtils.java b/src/main/java/org/codehaus/plexus/archiver/util/ResourceUtils.java index cdbe26369..4c36792e2 100644 --- a/src/main/java/org/codehaus/plexus/archiver/util/ResourceUtils.java +++ b/src/main/java/org/codehaus/plexus/archiver/util/ResourceUtils.java @@ -1,10 +1,11 @@ package org.codehaus.plexus.archiver.util; import java.io.File; -import java.io.FileOutputStream; import java.io.IOException; import java.io.InputStream; import java.io.OutputStream; +import java.nio.file.Files; + import org.codehaus.plexus.components.io.functions.FileSupplier; import org.codehaus.plexus.components.io.resources.PlexusIoResource; import org.codehaus.plexus.util.IOUtil; @@ -77,7 +78,7 @@ public static boolean isUptodate( long sourceDate, long destinationDate ) public static void copyFile( PlexusIoResource in, File outFile ) throws IOException { - try ( InputStream input = in.getContents(); OutputStream output = new FileOutputStream( outFile ) ) + try ( InputStream input = in.getContents(); OutputStream output = Files.newOutputStream( outFile.toPath() ) ) { IOUtil.copy( input, output ); } @@ -92,7 +93,7 @@ public static void copyFile( InputStream input, File outFile ) OutputStream output = null; try { - output = new FileOutputStream( outFile ); + output = Files.newOutputStream( outFile.toPath() ); IOUtil.copy( input, output ); output.close(); output = null; diff --git a/src/main/java/org/codehaus/plexus/archiver/util/Streams.java b/src/main/java/org/codehaus/plexus/archiver/util/Streams.java index ce72ad6aa..a711a99a3 100644 --- a/src/main/java/org/codehaus/plexus/archiver/util/Streams.java +++ b/src/main/java/org/codehaus/plexus/archiver/util/Streams.java @@ -18,14 +18,14 @@ import java.io.BufferedInputStream; import java.io.BufferedOutputStream; import java.io.File; -import java.io.FileInputStream; -import java.io.FileNotFoundException; -import java.io.FileOutputStream; import java.io.IOException; import java.io.InputStream; import java.io.OutputStream; +import java.nio.file.Files; + import javax.annotation.WillClose; import javax.annotation.WillNotClose; + import org.codehaus.plexus.archiver.ArchiverException; import org.codehaus.plexus.util.IOUtil; @@ -53,18 +53,18 @@ public static byte[] cacheBuffer() return new byte[ 8 * 1024 ]; } - public static FileInputStream fileInputStream( File file ) - throws FileNotFoundException + public static InputStream fileInputStream( File file ) + throws IOException { - return new FileInputStream( file ); + return Files.newInputStream( file.toPath() ); } - public static FileInputStream fileInputStream( File file, String operation ) + public static InputStream fileInputStream( File file, String operation ) throws ArchiverException { try { - return new FileInputStream( file ); + return Files.newInputStream( file.toPath() ); } catch ( IOException e ) { @@ -74,18 +74,18 @@ public static FileInputStream fileInputStream( File file, String operation ) } } - public static FileOutputStream fileOutputStream( File file ) - throws FileNotFoundException + public static OutputStream fileOutputStream( File file ) + throws IOException { - return new FileOutputStream( file ); + return Files.newOutputStream( file.toPath() ); } - public static FileOutputStream fileOutputStream( File file, String operation ) + public static OutputStream fileOutputStream( File file, String operation ) throws ArchiverException { try { - return new FileOutputStream( file ); + return Files.newOutputStream( file.toPath() ); } catch ( IOException e ) { diff --git a/src/main/java/org/codehaus/plexus/archiver/xz/PlexusIoXZResourceCollection.java b/src/main/java/org/codehaus/plexus/archiver/xz/PlexusIoXZResourceCollection.java index e9c508e5b..c83a9fffc 100644 --- a/src/main/java/org/codehaus/plexus/archiver/xz/PlexusIoXZResourceCollection.java +++ b/src/main/java/org/codehaus/plexus/archiver/xz/PlexusIoXZResourceCollection.java @@ -16,14 +16,14 @@ package org.codehaus.plexus.archiver.xz; import java.io.File; -import java.io.FileInputStream; import java.io.IOException; import java.io.InputStream; import java.util.HashMap; + +import org.codehaus.plexus.archiver.util.Streams; import org.codehaus.plexus.components.io.attributes.FileAttributes; import org.codehaus.plexus.components.io.attributes.PlexusIoResourceAttributes; import org.codehaus.plexus.components.io.resources.PlexusIoCompressedFileResourceCollection; -import org.codehaus.plexus.util.IOUtil; /** * @author lore @@ -47,17 +47,7 @@ protected String getDefaultExtension() @Override protected InputStream getInputStream( File file ) throws IOException { - FileInputStream fileIs = new FileInputStream( file ); - try - { - final InputStream result = XZUnArchiver.getXZInputStream( fileIs ); - fileIs = null; - return result; - } - finally - { - IOUtil.close( fileIs ); - } + return XZUnArchiver.getXZInputStream( Streams.fileInputStream( file ) ); } } diff --git a/src/main/java/org/codehaus/plexus/archiver/zip/AbstractZipArchiver.java b/src/main/java/org/codehaus/plexus/archiver/zip/AbstractZipArchiver.java index a0446ca2f..ac0d56a28 100755 --- a/src/main/java/org/codehaus/plexus/archiver/zip/AbstractZipArchiver.java +++ b/src/main/java/org/codehaus/plexus/archiver/zip/AbstractZipArchiver.java @@ -16,20 +16,24 @@ */ package org.codehaus.plexus.archiver.zip; +import static org.codehaus.plexus.archiver.util.Streams.bufferedOutputStream; +import static org.codehaus.plexus.archiver.util.Streams.fileOutputStream; + import java.io.ByteArrayInputStream; import java.io.File; -import java.io.FileOutputStream; import java.io.IOException; import java.io.InputStream; import java.io.OutputStream; import java.nio.ByteBuffer; import java.nio.charset.Charset; +import java.nio.file.Files; import java.util.Calendar; import java.util.Date; import java.util.Deque; import java.util.Hashtable; import java.util.concurrent.ExecutionException; import java.util.zip.CRC32; + import org.apache.commons.compress.archivers.zip.ZipArchiveEntry; import org.apache.commons.compress.archivers.zip.ZipArchiveOutputStream; import org.apache.commons.compress.archivers.zip.ZipEncoding; @@ -47,8 +51,6 @@ import org.codehaus.plexus.components.io.functions.SymlinkDestinationSupplier; import org.codehaus.plexus.components.io.resources.PlexusIoResource; import org.codehaus.plexus.util.FileUtils; -import static org.codehaus.plexus.archiver.util.Streams.bufferedOutputStream; -import static org.codehaus.plexus.archiver.util.Streams.fileOutputStream; @SuppressWarnings( { @@ -671,7 +673,7 @@ protected boolean createEmptyZip( File zipFile ) // Must create it manually. getLogger().info( "Note: creating empty " + archiveType + " archive " + zipFile ); - try ( OutputStream os = new FileOutputStream( zipFile ) ) + try ( OutputStream os = Files.newOutputStream( zipFile.toPath() ) ) { // Cf. PKZIP specification. byte[] empty = new byte[ 22 ]; diff --git a/src/main/java/org/codehaus/plexus/archiver/zip/AbstractZipUnArchiver.java b/src/main/java/org/codehaus/plexus/archiver/zip/AbstractZipUnArchiver.java index 292d67a05..c5b046ece 100644 --- a/src/main/java/org/codehaus/plexus/archiver/zip/AbstractZipUnArchiver.java +++ b/src/main/java/org/codehaus/plexus/archiver/zip/AbstractZipUnArchiver.java @@ -19,12 +19,10 @@ import java.io.File; import java.io.IOException; import java.io.InputStream; -import java.io.UnsupportedEncodingException; import java.net.URL; import java.util.Date; import java.util.Enumeration; import javax.annotation.Nonnull; -import org.apache.commons.compress.archivers.zip.UnicodePathExtraField; import org.apache.commons.compress.archivers.zip.ZipArchiveEntry; import org.apache.commons.compress.archivers.zip.ZipFile; import org.apache.commons.io.input.BoundedInputStream; diff --git a/src/main/java/org/codehaus/plexus/archiver/zip/AnonymousResource.java b/src/main/java/org/codehaus/plexus/archiver/zip/AnonymousResource.java index dc5e076f1..65de3dd90 100644 --- a/src/main/java/org/codehaus/plexus/archiver/zip/AnonymousResource.java +++ b/src/main/java/org/codehaus/plexus/archiver/zip/AnonymousResource.java @@ -4,6 +4,7 @@ import java.io.IOException; import java.io.InputStream; import java.net.URL; + import javax.annotation.Nonnull; import org.codehaus.plexus.components.io.resources.AbstractPlexusIoResource; @@ -29,8 +30,6 @@ public InputStream getContents() throws IOException { throw new UnsupportedOperationException( "not supp" ); - // Does this really have an input stream ? - //return new FileInputStream( file ); } @Override diff --git a/src/main/java/org/codehaus/plexus/archiver/zip/OffloadingOutputStream.java b/src/main/java/org/codehaus/plexus/archiver/zip/OffloadingOutputStream.java index 7598d287c..1a9951fa9 100644 --- a/src/main/java/org/codehaus/plexus/archiver/zip/OffloadingOutputStream.java +++ b/src/main/java/org/codehaus/plexus/archiver/zip/OffloadingOutputStream.java @@ -18,12 +18,12 @@ package org.codehaus.plexus.archiver.zip; import java.io.File; -import java.io.FileInputStream; -import java.io.FileOutputStream; import java.io.IOException; import java.io.InputStream; import java.io.OutputStream; import java.io.SequenceInputStream; +import java.nio.file.Files; + import org.apache.commons.io.output.ThresholdingOutputStream; /** @@ -147,7 +147,7 @@ protected void thresholdReached() throws IOException { outputFile = File.createTempFile( prefix, suffix, directory ); } - currentOutputStream = new FileOutputStream( outputFile ); + currentOutputStream = Files.newOutputStream( outputFile.toPath() ); } public InputStream getInputStream() throws IOException @@ -158,7 +158,7 @@ public InputStream getInputStream() throws IOException { return memoryAsInput; } - return new SequenceInputStream( memoryAsInput, new FileInputStream( outputFile ) ); + return new SequenceInputStream( memoryAsInput, Files.newInputStream( outputFile.toPath() ) ); } // --------------------------------------------------------- Public methods diff --git a/src/test/java/org/codehaus/plexus/archiver/DuplicateFilesTest.java b/src/test/java/org/codehaus/plexus/archiver/DuplicateFilesTest.java index 33ff3513e..2728c24c1 100644 --- a/src/test/java/org/codehaus/plexus/archiver/DuplicateFilesTest.java +++ b/src/test/java/org/codehaus/plexus/archiver/DuplicateFilesTest.java @@ -5,7 +5,10 @@ import java.io.File; import java.io.FileInputStream; import java.io.FileReader; +import java.nio.charset.StandardCharsets; +import java.nio.file.Files; import java.util.Enumeration; + import org.apache.commons.compress.archivers.tar.TarArchiveInputStream; import org.apache.commons.compress.archivers.zip.ZipArchiveEntry; import org.codehaus.plexus.PlexusTestCase; @@ -79,7 +82,7 @@ public void testTarArchiver() File archive = createArchive( archiver, "tar" ); TarArchiveInputStream tis; - tis = new TarArchiveInputStream( new BufferedInputStream( new FileInputStream( archive ) ) ); + tis = new TarArchiveInputStream( new BufferedInputStream( Files.newInputStream( archive.toPath() ) ) ); int entryCount = 0; while ( ( tis.getNextEntry() ) != null ) { @@ -141,10 +144,10 @@ private void testFinalFile( String path ) { File outputFile = getTestFile( path ); assertTrue( outputFile.exists() ); - BufferedReader reader = new BufferedReader( new FileReader( outputFile ) ); + BufferedReader reader = Files.newBufferedReader( outputFile.toPath(), StandardCharsets.UTF_8 ); String firstLine = reader.readLine(); reader.close(); - reader = new BufferedReader( new FileReader( file2 ) ); + reader = Files.newBufferedReader( file2.toPath(), StandardCharsets.UTF_8 ); String expectedFirstLine = reader.readLine(); reader.close(); assertEquals( expectedFirstLine, firstLine ); diff --git a/src/test/java/org/codehaus/plexus/archiver/bzip2/BZip2ArchiverTest.java b/src/test/java/org/codehaus/plexus/archiver/bzip2/BZip2ArchiverTest.java index 619eca8e9..04c8178a7 100644 --- a/src/test/java/org/codehaus/plexus/archiver/bzip2/BZip2ArchiverTest.java +++ b/src/test/java/org/codehaus/plexus/archiver/bzip2/BZip2ArchiverTest.java @@ -26,6 +26,7 @@ import java.io.File; import java.io.FileInputStream; import java.io.InputStream; +import java.nio.file.Files; import java.util.Arrays; import java.util.zip.ZipEntry; import java.util.zip.ZipFile; @@ -97,7 +98,7 @@ public void testCreateResourceCollection() final ZipFile juZipFile = new ZipFile( zipFile ); final ZipEntry zipEntry = juZipFile.getEntry( "prfx/target/output/pom.xml" ); final InputStream archivePom = juZipFile.getInputStream( zipEntry ); - final InputStream pom = new FileInputStream( pomFile ); + final InputStream pom = Files.newInputStream( pomFile.toPath() ); assertTrue( Arrays.equals( IOUtil.toByteArray( pom ), IOUtil.toByteArray( archivePom ) ) ); archivePom.close(); diff --git a/src/test/java/org/codehaus/plexus/archiver/gzip/GZipArchiverTest.java b/src/test/java/org/codehaus/plexus/archiver/gzip/GZipArchiverTest.java index 5803a70c2..3a6c532ab 100644 --- a/src/test/java/org/codehaus/plexus/archiver/gzip/GZipArchiverTest.java +++ b/src/test/java/org/codehaus/plexus/archiver/gzip/GZipArchiverTest.java @@ -24,11 +24,12 @@ package org.codehaus.plexus.archiver.gzip; import java.io.File; -import java.io.FileInputStream; import java.io.InputStream; +import java.nio.file.Files; import java.util.Arrays; import java.util.zip.ZipEntry; import java.util.zip.ZipFile; + import org.codehaus.plexus.archiver.Archiver; import org.codehaus.plexus.archiver.BasePlexusArchiverTest; import org.codehaus.plexus.archiver.exceptions.EmptyArchiveException; @@ -96,7 +97,7 @@ public void testCreateResourceCollection() final ZipFile juZipFile = new ZipFile( zipFile ); final ZipEntry zipEntry = juZipFile.getEntry( "prfx/target/output/pom.xml" ); final InputStream archivePom = juZipFile.getInputStream( zipEntry ); - final InputStream pom = new FileInputStream( pomFile ); + final InputStream pom = Files.newInputStream( pomFile.toPath() ); assertTrue( Arrays.equals( IOUtil.toByteArray( pom ), IOUtil.toByteArray( archivePom ) ) ); archivePom.close(); pom.close(); diff --git a/src/test/java/org/codehaus/plexus/archiver/jar/BaseJarArchiverTest.java b/src/test/java/org/codehaus/plexus/archiver/jar/BaseJarArchiverTest.java index 383ea7f75..abf0d582a 100644 --- a/src/test/java/org/codehaus/plexus/archiver/jar/BaseJarArchiverTest.java +++ b/src/test/java/org/codehaus/plexus/archiver/jar/BaseJarArchiverTest.java @@ -24,6 +24,8 @@ import java.io.FileInputStream; import java.io.IOException; import java.io.InputStream; +import java.nio.file.Files; +import java.nio.file.Paths; import java.util.zip.ZipEntry; import java.util.zip.ZipFile; @@ -60,7 +62,7 @@ public void testCreateJar() ZipEntry classFileEntry = resultingArchive.getEntry( "com/example/app/Main.class" ); InputStream resultingClassFile = resultingArchive.getInputStream( classFileEntry ); InputStream originalClassFile = - new FileInputStream( "src/test/resources/java-classes/com/example/app/Main.class" ); + Files.newInputStream( Paths.get( "src/test/resources/java-classes/com/example/app/Main.class" ) ); assertTrue( IOUtil.contentEquals( originalClassFile, resultingClassFile ) ); } diff --git a/src/test/java/org/codehaus/plexus/archiver/jar/JarArchiverTest.java b/src/test/java/org/codehaus/plexus/archiver/jar/JarArchiverTest.java index ee118cf4e..d8fa00772 100644 --- a/src/test/java/org/codehaus/plexus/archiver/jar/JarArchiverTest.java +++ b/src/test/java/org/codehaus/plexus/archiver/jar/JarArchiverTest.java @@ -1,9 +1,11 @@ package org.codehaus.plexus.archiver.jar; import java.io.File; -import java.io.FileOutputStream; import java.io.IOException; +import java.io.OutputStream; +import java.nio.file.Files; import java.util.Random; + import org.codehaus.plexus.archiver.ArchiverException; import org.junit.Test; @@ -58,7 +60,7 @@ public void testVeryLargeJar() { File f = new File( tmpDir, "file" + i ); f.deleteOnExit(); - FileOutputStream out = new FileOutputStream( f ); + OutputStream out = Files.newOutputStream( f.toPath() ); byte[] data = new byte[ 512 ]; // 512bytes per file rand.nextBytes( data ); out.write( data ); diff --git a/src/test/java/org/codehaus/plexus/archiver/jar/ManifestTest.java b/src/test/java/org/codehaus/plexus/archiver/jar/ManifestTest.java index cf21f5312..0dd9b8013 100644 --- a/src/test/java/org/codehaus/plexus/archiver/jar/ManifestTest.java +++ b/src/test/java/org/codehaus/plexus/archiver/jar/ManifestTest.java @@ -16,11 +16,12 @@ */ package org.codehaus.plexus.archiver.jar; -import java.io.FileInputStream; import java.io.IOException; import java.io.InputStream; import java.io.StringWriter; +import java.nio.file.Files; import java.util.jar.Attributes; + import org.codehaus.plexus.PlexusTestCase; /** @@ -342,13 +343,13 @@ public void testAddConfiguredSectionPlexusManifest() * * @return a manifest * - * @throws java.io.IOException . - * @throws ManifestException . + * @throws java.io.IOException + * @throws ManifestException */ private Manifest getManifest( String filename ) throws IOException, ManifestException { - try ( InputStream is = new FileInputStream( getTestFile( filename ) ) ) + try ( InputStream is = Files.newInputStream( getTestFile( filename ).toPath() ) ) { return new Manifest( is ); } diff --git a/src/test/java/org/codehaus/plexus/archiver/snappy/SnappyArchiverTest.java b/src/test/java/org/codehaus/plexus/archiver/snappy/SnappyArchiverTest.java index c2c93157a..6b68e4d29 100644 --- a/src/test/java/org/codehaus/plexus/archiver/snappy/SnappyArchiverTest.java +++ b/src/test/java/org/codehaus/plexus/archiver/snappy/SnappyArchiverTest.java @@ -26,6 +26,7 @@ import java.io.File; import java.io.FileInputStream; import java.io.InputStream; +import java.nio.file.Files; import java.util.Arrays; import java.util.zip.ZipEntry; import java.util.zip.ZipFile; @@ -97,7 +98,7 @@ public void testCreateResourceCollection() final ZipFile juZipFile = new ZipFile( zipFile ); final ZipEntry zipEntry = juZipFile.getEntry( "prfx/target/output/pom.xml" ); final InputStream archivePom = juZipFile.getInputStream( zipEntry ); - final InputStream pom = new FileInputStream( pomFile ); + final InputStream pom = Files.newInputStream( pomFile.toPath() ); assertTrue( Arrays.equals( IOUtil.toByteArray( pom ), IOUtil.toByteArray( archivePom ) ) ); archivePom.close(); diff --git a/src/test/java/org/codehaus/plexus/archiver/tar/TarArchiverTest.java b/src/test/java/org/codehaus/plexus/archiver/tar/TarArchiverTest.java index 5bef23c24..4238ca560 100644 --- a/src/test/java/org/codehaus/plexus/archiver/tar/TarArchiverTest.java +++ b/src/test/java/org/codehaus/plexus/archiver/tar/TarArchiverTest.java @@ -23,14 +23,20 @@ */ package org.codehaus.plexus.archiver.tar; +import static org.codehaus.plexus.archiver.util.Streams.bufferedInputStream; +import static org.codehaus.plexus.components.io.resources.ResourceFactory.createResource; + import java.io.BufferedInputStream; import java.io.File; import java.io.FileInputStream; -import java.io.FileWriter; import java.io.IOException; +import java.io.Writer; +import java.nio.charset.StandardCharsets; +import java.nio.file.Files; import java.util.Enumeration; import java.util.LinkedHashMap; import java.util.Map; + import org.apache.commons.compress.archivers.tar.TarArchiveEntry; import org.apache.commons.compress.archivers.tar.TarArchiveInputStream; import org.codehaus.plexus.PlexusTestCase; @@ -50,8 +56,6 @@ import org.codehaus.plexus.util.IOUtil; import org.codehaus.plexus.util.Os; import org.junit.Assert; -import static org.codehaus.plexus.archiver.util.Streams.bufferedInputStream; -import static org.codehaus.plexus.components.io.resources.ResourceFactory.createResource; /** * @author Emmanuel Venisse @@ -266,7 +270,7 @@ private void writeFile( File dir, String fname, int mode ) file.getParentFile().mkdirs(); } - try ( FileWriter writer = new FileWriter( file ) ) + try ( Writer writer = Files.newBufferedWriter( file.toPath(), StandardCharsets.UTF_8 ) ) { writer.write( "This is a test file." ); } @@ -315,7 +319,7 @@ public void createArchive( final int directoryMode, final int fileModes[] ) TarArchiveInputStream tis; - tis = new TarArchiveInputStream( bufferedInputStream( new FileInputStream( archiver.getDestFile() ) ) ); + tis = new TarArchiveInputStream( bufferedInputStream( Files.newInputStream( archiver.getDestFile().toPath() ) ) ); TarArchiveEntry te; while ( ( te = tis.getNextTarEntry() ) != null ) @@ -372,7 +376,7 @@ public void testCreateArchiveWithJiustASymlink() TarArchiveInputStream tis; - tis = new TarArchiveInputStream( new BufferedInputStream( new FileInputStream( archiver.getDestFile() ) ) ); + tis = new TarArchiveInputStream( new BufferedInputStream( Files.newInputStream( archiver.getDestFile().toPath() ) ) ); TarArchiveEntry te; while ( ( te = tis.getNextTarEntry() ) != null ) diff --git a/src/test/java/org/codehaus/plexus/archiver/tar/TarFileAttributesTest.java b/src/test/java/org/codehaus/plexus/archiver/tar/TarFileAttributesTest.java index f9a6934d2..6c9642548 100644 --- a/src/test/java/org/codehaus/plexus/archiver/tar/TarFileAttributesTest.java +++ b/src/test/java/org/codehaus/plexus/archiver/tar/TarFileAttributesTest.java @@ -3,6 +3,9 @@ import java.io.File; import java.io.FileWriter; import java.io.IOException; +import java.io.Writer; +import java.nio.charset.StandardCharsets; +import java.nio.file.Files; import java.util.ArrayList; import java.util.List; import org.codehaus.plexus.PlexusTestCase; @@ -83,7 +86,7 @@ public void testUseAttributesFromTarArchiveInputInTarArchiverOutput() File tempFile = File.createTempFile( "tar-file-attributes.", ".tmp" ); toDelete.add( tempFile ); - try ( FileWriter writer = new FileWriter( tempFile ) ) + try ( Writer writer = Files.newBufferedWriter( tempFile.toPath(), StandardCharsets.UTF_8 ) ) { writer.write( "This is a test file." ); } @@ -148,7 +151,7 @@ public void testUseDetectedFileAttributes() File tempFile = File.createTempFile( "tar-file-attributes.", ".tmp" ); toDelete.add( tempFile ); - try ( FileWriter writer = new FileWriter( tempFile ) ) + try ( Writer writer = Files.newBufferedWriter( tempFile.toPath(), StandardCharsets.UTF_8 ) ) { writer.write( "This is a test file." ); } @@ -207,7 +210,7 @@ public void testOverrideDetectedFileAttributes() File tempFile = File.createTempFile( "tar-file-attributes.", ".tmp" ); toDelete.add( tempFile ); - try ( FileWriter writer = new FileWriter( tempFile ) ) + try ( Writer writer = Files.newBufferedWriter( tempFile.toPath(), StandardCharsets.UTF_8 ) ) { writer.write( "This is a test file." ); } @@ -264,7 +267,7 @@ public void testOverrideDetectedFileAttributesUsingFileMode() File tempFile = File.createTempFile( "tar-file-attributes.", ".tmp" ); toDelete.add( tempFile ); - try ( FileWriter writer = new FileWriter( tempFile ) ) + try ( Writer writer = Files.newBufferedWriter( tempFile.toPath(), StandardCharsets.UTF_8 ) ) { writer.write( "This is a test file." ); } diff --git a/src/test/java/org/codehaus/plexus/archiver/tar/TarFileTest.java b/src/test/java/org/codehaus/plexus/archiver/tar/TarFileTest.java index 480b8176b..0a73c2391 100644 --- a/src/test/java/org/codehaus/plexus/archiver/tar/TarFileTest.java +++ b/src/test/java/org/codehaus/plexus/archiver/tar/TarFileTest.java @@ -4,6 +4,7 @@ import java.io.FileInputStream; import java.io.IOException; import java.io.InputStream; +import java.nio.file.Files; import java.util.Arrays; import java.util.Enumeration; import org.apache.commons.compress.archivers.tar.TarArchiveEntry; @@ -117,7 +118,7 @@ private void testTarFile( Compressor compressor, String extension, } final File teFile = new File( "src", te.getName() ); final InputStream teStream = tarFile.getInputStream( te ); - final InputStream fileStream = new FileInputStream( teFile ); + final InputStream fileStream = Files.newInputStream( teFile.toPath() ); assertTrue( Arrays.equals( IOUtil.toByteArray( teStream ), IOUtil.toByteArray( fileStream ) ) ); teStream.close(); fileStream.close(); diff --git a/src/test/java/org/codehaus/plexus/archiver/xz/XzArchiverTest.java b/src/test/java/org/codehaus/plexus/archiver/xz/XzArchiverTest.java index 22bd9076d..9ca25185c 100644 --- a/src/test/java/org/codehaus/plexus/archiver/xz/XzArchiverTest.java +++ b/src/test/java/org/codehaus/plexus/archiver/xz/XzArchiverTest.java @@ -18,6 +18,7 @@ import java.io.File; import java.io.FileInputStream; import java.io.InputStream; +import java.nio.file.Files; import java.util.Arrays; import java.util.zip.ZipEntry; import java.util.zip.ZipFile; @@ -103,7 +104,7 @@ public void testCreateResourceCollection() throws Exception final ZipFile juZipFile = new ZipFile( zipFile ); final ZipEntry zipEntry = juZipFile.getEntry( "prfx/target/output/pom.xml" ); final InputStream archivePom = juZipFile.getInputStream( zipEntry ); - final InputStream pom = new FileInputStream( pomFile ); + final InputStream pom = Files.newInputStream( pomFile.toPath() ); assertTrue( Arrays.equals( IOUtil.toByteArray( pom ), IOUtil.toByteArray( archivePom ) ) ); archivePom.close(); diff --git a/src/test/java/org/codehaus/plexus/archiver/zip/ConcurrentJarCreatorTest.java b/src/test/java/org/codehaus/plexus/archiver/zip/ConcurrentJarCreatorTest.java index 3832e445b..9ad2193c3 100644 --- a/src/test/java/org/codehaus/plexus/archiver/zip/ConcurrentJarCreatorTest.java +++ b/src/test/java/org/codehaus/plexus/archiver/zip/ConcurrentJarCreatorTest.java @@ -2,9 +2,10 @@ import java.io.File; import java.io.FileInputStream; -import java.io.FileNotFoundException; import java.io.IOException; import java.io.InputStream; +import java.nio.file.Files; + import org.apache.commons.compress.archivers.zip.UnixStat; import org.apache.commons.compress.archivers.zip.ZipArchiveEntry; import org.apache.commons.compress.archivers.zip.ZipArchiveOutputStream; @@ -83,9 +84,9 @@ public InputStream get() { try { - return file.isFile() ? new FileInputStream( file ) : null; + return file.isFile() ? Files.newInputStream( file.toPath() ) : null; } - catch ( FileNotFoundException e ) + catch ( IOException e ) { throw new RuntimeException( e ); } @@ -116,9 +117,9 @@ private void doAddAll( String base, ZipArchiveOutputStream mos ) throws IOExcept mos.putArchiveEntry( za ); if ( file.isFile() ) { - FileInputStream input = new FileInputStream( file ); - IOUtils.copy( input, mos ); - input.close(); + try (InputStream input = Files.newInputStream( file.toPath() )) { + IOUtils.copy( input, mos ); + } } mos.closeArchiveEntry(); } diff --git a/src/test/java/org/codehaus/plexus/archiver/zip/ZipArchiverTest.java b/src/test/java/org/codehaus/plexus/archiver/zip/ZipArchiverTest.java index 31d1c5da4..cca135c30 100644 --- a/src/test/java/org/codehaus/plexus/archiver/zip/ZipArchiverTest.java +++ b/src/test/java/org/codehaus/plexus/archiver/zip/ZipArchiverTest.java @@ -30,6 +30,8 @@ import java.io.FileWriter; import java.io.IOException; import java.io.InputStream; +import java.io.Writer; +import java.nio.charset.StandardCharsets; import java.nio.file.Files; import java.nio.file.attribute.FileTime; import java.text.DateFormat; @@ -348,7 +350,7 @@ private void writeFile( File dir, String fname, int mode ) file.getParentFile().mkdirs(); } - try ( FileWriter writer = new FileWriter( file ) ) + try ( Writer writer = Files.newBufferedWriter( file.toPath(), StandardCharsets.UTF_8 ) ) { writer.write( "This is a test file." ); } @@ -401,13 +403,13 @@ public void testRecompressAddedZips() throws Exception assertEquals( ZipEntry.STORED, rarEntry.getMethod() ); assertEquals( ZipEntry.DEFLATED, tarEntry.getMethod() ); // ...and no file is corrupted in the process - assertTrue( IOUtil.contentEquals( new FileInputStream( getTestFile( "src/test/jars/test.zip" ) ), + assertTrue( IOUtil.contentEquals( Files.newInputStream( getTestFile( "src/test/jars/test.zip" ).toPath() ), zfDontRecompress.getInputStream( zipEntry ) ) ); - assertTrue( IOUtil.contentEquals( new FileInputStream( getTestFile( "src/test/jars/test.jar" ) ), + assertTrue( IOUtil.contentEquals( Files.newInputStream( getTestFile( "src/test/jars/test.jar" ).toPath() ), zfDontRecompress.getInputStream( jarEntry ) ) ); - assertTrue( IOUtil.contentEquals( new FileInputStream( getTestFile( "src/test/jars/test.rar" ) ), + assertTrue( IOUtil.contentEquals( Files.newInputStream( getTestFile( "src/test/jars/test.rar" ).toPath() ), zfDontRecompress.getInputStream( rarEntry ) ) ); - assertTrue( IOUtil.contentEquals( new FileInputStream( getTestFile( "src/test/jars/test.tar.gz" ) ), + assertTrue( IOUtil.contentEquals( Files.newInputStream( getTestFile( "src/test/jars/test.tar.gz" ).toPath() ), zfDontRecompress.getInputStream( tarEntry ) ) ); zfDontRecompress.close(); }