]> source.dussan.org Git - poi.git/commitdiff
use try block to close input streams
authorPJ Fanning <fanningpj@apache.org>
Sat, 20 Nov 2021 13:51:00 +0000 (13:51 +0000)
committerPJ Fanning <fanningpj@apache.org>
Sat, 20 Nov 2021 13:51:00 +0000 (13:51 +0000)
git-svn-id: https://svn.apache.org/repos/asf/poi/trunk@1895203 13f79535-47bb-0310-9956-ffa450edef68

poi-ooxml/src/main/java/org/apache/poi/openxml4j/opc/OPCPackage.java
poi-ooxml/src/main/java/org/apache/poi/xslf/usermodel/XSLFPictureData.java
poi-ooxml/src/main/java/org/apache/poi/xslf/util/PDFFormat.java
poi-ooxml/src/main/java/org/apache/poi/xssf/extractor/XSSFBEventBasedExcelExtractor.java
poi-ooxml/src/main/java/org/apache/poi/xssf/extractor/XSSFEventBasedExcelExtractor.java

index 6cd0a02815f978916c1e62e8c194a7b3aa35d112..f17a163c8aac19842f7f360d76e9cb0719af0c11 100644 (file)
@@ -464,8 +464,11 @@ public abstract class OPCPackage implements RelationshipSource, Closeable {
                 closeImpl();
             }
         } else if (this.output != null) {
-            save(this.output);
-            output.close();
+            try {
+                save(this.output);
+            } finally {
+                output.close();
+            }
         }
 
         // ensure all held resources are freed
index 11f94477f33b70f0b82bdacab22250aea117b061..c2a0bd81a9d9201f2d5dcbce3834d560d6c3a5c9 100644 (file)
@@ -182,9 +182,9 @@ public final class XSLFPictureData extends POIXMLDocumentPart implements Picture
     }
 
     public void setData(byte[] data) throws IOException {
-        OutputStream os = getPackagePart().getOutputStream();
-        os.write(data);
-        os.close();
+        try (OutputStream os = getPackagePart().getOutputStream()) {
+            os.write(data);
+        }
         // recalculate now since we already have the data bytes available anyhow
         checksum = IOUtils.calculateChecksum(data);
 
index 1b71fb3f7bee530ae34c2c04a876a34592a00004..44675edcf743238cac0b6fc9fea933d2601c63af 100644 (file)
@@ -61,11 +61,14 @@ public class PDFFormat implements OutputFormat {
 
     @Override
     public void writeSlide(MFProxy proxy, File outFile) throws IOException {
-        pdfBoxGraphics2D.dispose();
+        try {
+            pdfBoxGraphics2D.dispose();
 
-        PDFormXObject appearanceStream = pdfBoxGraphics2D.getXFormObject();
-        contentStream.drawForm(appearanceStream);
-        contentStream.close();
+            PDFormXObject appearanceStream = pdfBoxGraphics2D.getXFormObject();
+            contentStream.drawForm(appearanceStream);
+        } finally {
+            contentStream.close();
+        }
     }
 
     @Override
@@ -75,9 +78,12 @@ public class PDFFormat implements OutputFormat {
 
     @Override
     public void close() throws IOException {
-        document.close();
-        if (fontTextDrawer != null) {
-            fontTextDrawer.close();
+        try {
+            document.close();
+        } finally {
+            if (fontTextDrawer != null) {
+                fontTextDrawer.close();
+            }
         }
     }
 
index a4c56db4cd8ea99a1e82efa15083a75437c18f90..c53cc393121e6fe86069ba3a80654122697f052c 100644 (file)
@@ -115,28 +115,28 @@ public class XSSFBEventBasedExcelExtractor extends XSSFEventBasedExcelExtractor
             SheetTextExtractor sheetExtractor = new SheetTextExtractor();
             XSSFBHyperlinksTable hyperlinksTable = null;
             while (iter.hasNext()) {
-                InputStream stream = iter.next();
-                if (getIncludeSheetNames()) {
-                    text.append(iter.getSheetName());
-                    text.append('\n');
+                try (InputStream stream = iter.next()) {
+                    if (getIncludeSheetNames()) {
+                        text.append(iter.getSheetName());
+                        text.append('\n');
+                    }
+                    if (handleHyperlinksInCells) {
+                        hyperlinksTable = new XSSFBHyperlinksTable(iter.getSheetPart());
+                    }
+                    XSSFBCommentsTable comments = getIncludeCellComments() ? iter.getXSSFBSheetComments() : null;
+                    processSheet(sheetExtractor, styles, comments, strings, stream);
+                    if (getIncludeHeadersFooters()) {
+                        sheetExtractor.appendHeaderText(text);
+                    }
+                    sheetExtractor.appendCellText(text);
+                    if (getIncludeTextBoxes()) {
+                        processShapes(iter.getShapes(), text);
+                    }
+                    if (getIncludeHeadersFooters()) {
+                        sheetExtractor.appendFooterText(text);
+                    }
+                    sheetExtractor.reset();
                 }
-                if (handleHyperlinksInCells) {
-                    hyperlinksTable = new XSSFBHyperlinksTable(iter.getSheetPart());
-                }
-                XSSFBCommentsTable comments = getIncludeCellComments() ? iter.getXSSFBSheetComments() : null;
-                processSheet(sheetExtractor, styles, comments, strings, stream);
-                if (getIncludeHeadersFooters()) {
-                    sheetExtractor.appendHeaderText(text);
-                }
-                sheetExtractor.appendCellText(text);
-                if (getIncludeTextBoxes()) {
-                    processShapes(iter.getShapes(), text);
-                }
-                if (getIncludeHeadersFooters()) {
-                    sheetExtractor.appendFooterText(text);
-                }
-                sheetExtractor.reset();
-                stream.close();
             }
 
             return text.toString();
index 35fcb58685d39fa799b095b35f3818033c747300..64d90fdec3309227af284100892af54a7286f102 100644 (file)
@@ -267,25 +267,25 @@ public class XSSFEventBasedExcelExtractor
             SheetTextExtractor sheetExtractor = new SheetTextExtractor();
 
             while (iter.hasNext()) {
-                InputStream stream = iter.next();
-                if (includeSheetNames) {
-                    text.append(iter.getSheetName());
-                    text.append('\n');
+                try (InputStream stream = iter.next()) {
+                    if (includeSheetNames) {
+                        text.append(iter.getSheetName());
+                        text.append('\n');
+                    }
+                    Comments comments = includeCellComments ? iter.getSheetComments() : null;
+                    processSheet(sheetExtractor, styles, comments, strings, stream);
+                    if (includeHeadersFooters) {
+                        sheetExtractor.appendHeaderText(text);
+                    }
+                    sheetExtractor.appendCellText(text);
+                    if (includeTextBoxes) {
+                        processShapes(iter.getShapes(), text);
+                    }
+                    if (includeHeadersFooters) {
+                        sheetExtractor.appendFooterText(text);
+                    }
+                    sheetExtractor.reset();
                 }
-                Comments comments = includeCellComments ? iter.getSheetComments() : null;
-                processSheet(sheetExtractor, styles, comments, strings, stream);
-                if (includeHeadersFooters) {
-                    sheetExtractor.appendHeaderText(text);
-                }
-                sheetExtractor.appendCellText(text);
-                if (includeTextBoxes) {
-                    processShapes(iter.getShapes(), text);
-                }
-                if (includeHeadersFooters) {
-                    sheetExtractor.appendFooterText(text);
-                }
-                sheetExtractor.reset();
-                stream.close();
             }
 
             return text.toString();