Skip to content

Commit

Permalink
Avoid FileInputStream, FileOutputStream, FileReader and FileWriter (#183
Browse files Browse the repository at this point in the history
)

https://pmd.github.io/latest/pmd_rules_java_performance.html#avoidfilestream

Signed-off-by: Jorge Solórzano <jorsol@gmail.com>
  • Loading branch information
jorsol committed Aug 31, 2021
1 parent 06e3a95 commit 37d604b
Show file tree
Hide file tree
Showing 32 changed files with 148 additions and 150 deletions.
Expand Up @@ -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;
Expand Down Expand Up @@ -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 );
}
Expand Down
Expand Up @@ -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;

Expand Down Expand Up @@ -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() )
Expand Down
@@ -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
Expand All @@ -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
Expand Down
Expand Up @@ -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
Expand All @@ -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 )
Expand Down
Expand Up @@ -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 <a href="mailto:evenisse@codehaus.org">Emmanuel Venisse</a>
Expand Down Expand Up @@ -60,7 +61,7 @@ protected void execute()
}
}

private InputStream getGzipInputStream( FileInputStream in )
private InputStream getGzipInputStream( InputStream in )
throws ArchiverException
{
try
Expand Down
@@ -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
Expand All @@ -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
Expand Down
16 changes: 8 additions & 8 deletions src/main/java/org/codehaus/plexus/archiver/jar/JarArchiver.java
Expand Up @@ -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;
Expand All @@ -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;
Expand All @@ -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.
Expand Down Expand Up @@ -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
Expand All @@ -218,7 +220,6 @@ public void addConfiguredManifest( Manifest newManifest )
* @param manifestFile the manifest file to use.
*
* @throws org.codehaus.plexus.archiver.ArchiverException
* .
*/
@SuppressWarnings(
{
Expand All @@ -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 );
}
Expand Down Expand Up @@ -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
Expand Down Expand Up @@ -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<String> dirs, List<String> files )
throws IOException
Expand Down
Expand Up @@ -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;
Expand Down Expand Up @@ -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
Expand Down
@@ -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
Expand All @@ -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
Expand Down
10 changes: 6 additions & 4 deletions src/main/java/org/codehaus/plexus/archiver/tar/TarArchiver.java
Expand Up @@ -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;
Expand All @@ -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 <a href="mailto:evenisse@codehaus.org">Emmanuel Venisse</a>
Expand Down Expand Up @@ -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 );
Expand Down Expand Up @@ -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 ) )
{
Expand Down
8 changes: 5 additions & 3 deletions 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;

/**
* <p>
Expand Down Expand Up @@ -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 )
Expand Down

0 comments on commit 37d604b

Please sign in to comment.