]> source.dussan.org Git - poi.git/commitdiff
fix potential input resource leaks (LGTM)
authorAlain Béarez <abearez@apache.org>
Tue, 21 May 2019 00:13:47 +0000 (00:13 +0000)
committerAlain Béarez <abearez@apache.org>
Tue, 21 May 2019 00:13:47 +0000 (00:13 +0000)
git-svn-id: https://svn.apache.org/repos/asf/poi/trunk@1859591 13f79535-47bb-0310-9956-ffa450edef68

src/examples/src/org/apache/poi/hssf/usermodel/examples/EmbeddedObjects.java
src/java/org/apache/poi/poifs/dev/POIFSLister.java
src/scratchpad/src/org/apache/poi/hdgf/extractor/VisioTextExtractor.java
src/scratchpad/src/org/apache/poi/hpbf/dev/PLCDumper.java

index 79d9a2d3b7ea2bf01102a505caf5b70a1a8f6559..cbd06c725674f21bd12cb3c73e628e086b790f2e 100644 (file)
@@ -33,8 +33,11 @@ import org.apache.poi.poifs.filesystem.POIFSFileSystem;
 public class EmbeddedObjects {
     @SuppressWarnings("unused")
     public static void main(String[] args) throws Exception {
-        POIFSFileSystem fs = new POIFSFileSystem(new FileInputStream(args[0]));
-        try (HSSFWorkbook workbook = new HSSFWorkbook(fs)) {
+        try (
+            FileInputStream fis = new FileInputStream(args[0]);
+            POIFSFileSystem fs = new POIFSFileSystem(fis);
+            HSSFWorkbook workbook = new HSSFWorkbook(fs)
+        ) {
             for (HSSFObjectData obj : workbook.getAllEmbeddedObjects()) {
                 //the OLE2 Class Name of the object
                 String oleName = obj.getOLE2ClassName();
index 345d3c6a2c4efabc3b77d2583daf5ed30daa90a0..5ed20c75ab4873fa565f9f33fb42db60a4234ff5 100644 (file)
@@ -68,9 +68,11 @@ public class POIFSLister {
    }
 
    public static void viewFileOld(final String filename, boolean withSizes) throws IOException {
-      POIFSFileSystem fs = new POIFSFileSystem(new FileInputStream(filename));
-      displayDirectory(fs.getRoot(), "", withSizes);
-      fs.close();
+      try (FileInputStream fis = new FileInputStream(filename)) {
+         POIFSFileSystem fs = new POIFSFileSystem(fis);
+         displayDirectory(fs.getRoot(), "", withSizes);
+         fs.close();
+      }
    }
 
    public static void displayDirectory(DirectoryNode dir, String indent, boolean withSizes) {
@@ -92,7 +94,7 @@ public class POIFSLister {
                name = name.substring(1) + " <" + altname + ">";
             }
             if (withSizes) {
-               size = " [" + doc.getSize() + " / 0x" + 
+               size = " [" + doc.getSize() + " / 0x" +
                       Integer.toHexString(doc.getSize()) + "]";
             }
             System.out.println(newIndent + name + size);
index 256f1f9ffc39de5203eec1db15e8ecd58976ae4e..d21a7e5d6a45691ce8b1d0ba865a684b001d562f 100644 (file)
@@ -60,7 +60,7 @@ public final class VisioTextExtractor extends POIOLE2TextExtractor {
        /**
         * Locates all the text entries in the file, and returns their
         *  contents.
-        * 
+        *
         * @return An array of each Text item in the document
         */
        public String[] getAllText() {
@@ -106,7 +106,7 @@ public final class VisioTextExtractor extends POIOLE2TextExtractor {
         * Returns the textual contents of the file.
         * Each textual object's text will be separated
         *  by a newline
-        *  
+        *
         * @return All text contained in this document, separated by <code>\n</code>
         */
        @Override
@@ -128,12 +128,14 @@ public final class VisioTextExtractor extends POIOLE2TextExtractor {
                        System.exit(1);
                }
 
-               VisioTextExtractor extractor =
-                       new VisioTextExtractor(new FileInputStream(args[0]));
+               try (FileInputStream fis = new FileInputStream(args[0])) {
+                       VisioTextExtractor extractor =
+                               new VisioTextExtractor(fis);
 
-               // Print not PrintLn as already has \n added to it
-               System.out.print(extractor.getText());
-               
-               extractor.close();
+                       // Print not PrintLn as already has \n added to it
+                       System.out.print(extractor.getText());
+
+                       extractor.close();
+               }
        }
 }
index 0d9d9ae71ddc57d85cc9365ee3ca208d3c51596e..4438111e4e6ec3ccc0cd67c42c2a178b9f2c8c56 100644 (file)
@@ -53,12 +53,13 @@ public final class PLCDumper {
                        System.err.println("  PLCDumper <filename>");
                        System.exit(1);
                }
-               PLCDumper dump = new PLCDumper(
-                               new FileInputStream(args[0])
-               );
 
-               System.out.println("Dumping " + args[0]);
-               dump.dumpPLC();
+               try (FileInputStream fis = new FileInputStream(args[0])) {
+                       PLCDumper dump = new PLCDumper(fis);
+
+                       System.out.println("Dumping " + args[0]);
+                       dump.dumpPLC();
+               }
        }
 
        private void dumpPLC() {