fix potential input resource leaks (LGTM)

git-svn-id: https://svn.apache.org/repos/asf/poi/trunk@1859591 13f79535-47bb-0310-9956-ffa450edef68
This commit is contained in:
Alain Béarez 2019-05-21 00:13:47 +00:00
parent 093cbcfcca
commit 8784d6d6d7
4 changed files with 27 additions and 19 deletions

View 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();

View 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);

View 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();
}
}
}

View 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() {