You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@pdfbox.apache.org by le...@apache.org on 2015/07/30 20:40:23 UTC
svn commit: r1693467 -
/pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/multipdf/PDFMergerUtility.java
Author: lehmi
Date: Thu Jul 30 18:40:22 2015
New Revision: 1693467
URL: http://svn.apache.org/r1693467
Log:
PDFBOX-2911: close all FileInputStreams created when calling addSource with a filename or a file
Modified:
pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/multipdf/PDFMergerUtility.java
Modified: pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/multipdf/PDFMergerUtility.java
URL: http://svn.apache.org/viewvc/pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/multipdf/PDFMergerUtility.java?rev=1693467&r1=1693466&r2=1693467&view=diff
==============================================================================
--- pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/multipdf/PDFMergerUtility.java (original)
+++ pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/multipdf/PDFMergerUtility.java Thu Jul 30 18:40:22 2015
@@ -66,6 +66,7 @@ public class PDFMergerUtility
private static final String STRUCTURETYPE_DOCUMENT = "Document";
private final List<InputStream> sources;
+ private final List<FileInputStream> fileInpuStreams;
private String destinationFileName;
private OutputStream destinationStream;
private boolean ignoreAcroFormErrors = false;
@@ -76,6 +77,7 @@ public class PDFMergerUtility
public PDFMergerUtility()
{
sources = new ArrayList<InputStream>();
+ fileInpuStreams = new ArrayList<FileInputStream>();
}
/**
@@ -95,7 +97,7 @@ public class PDFMergerUtility
*/
public void setDestinationFileName(String destination)
{
- this.destinationFileName = destination;
+ destinationFileName = destination;
}
/**
@@ -127,7 +129,7 @@ public class PDFMergerUtility
*/
public void addSource(String source) throws FileNotFoundException
{
- sources.add(new FileInputStream(new File(source)));
+ addSource(new File(source));
}
/**
@@ -139,7 +141,9 @@ public class PDFMergerUtility
*/
public void addSource(File source) throws FileNotFoundException
{
- sources.add(new FileInputStream(source));
+ FileInputStream stream = new FileInputStream(source);
+ sources.add(stream);
+ fileInpuStreams.add(stream);
}
/**
@@ -210,6 +214,10 @@ public class PDFMergerUtility
{
doc.close();
}
+ for (FileInputStream stream : fileInpuStreams)
+ {
+ stream.close();
+ }
}
}
}