瀏覽代碼

use try block to close input streams

git-svn-id: https://svn.apache.org/repos/asf/poi/trunk@1895203 13f79535-47bb-0310-9956-ffa450edef68
tags/REL_5_2_0
PJ Fanning 2 年之前
父節點
當前提交
deab188437

+ 5
- 2
poi-ooxml/src/main/java/org/apache/poi/openxml4j/opc/OPCPackage.java 查看文件

@@ -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

+ 3
- 3
poi-ooxml/src/main/java/org/apache/poi/xslf/usermodel/XSLFPictureData.java 查看文件

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


+ 13
- 7
poi-ooxml/src/main/java/org/apache/poi/xslf/util/PDFFormat.java 查看文件

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


+ 21
- 21
poi-ooxml/src/main/java/org/apache/poi/xssf/extractor/XSSFBEventBasedExcelExtractor.java 查看文件

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

+ 18
- 18
poi-ooxml/src/main/java/org/apache/poi/xssf/extractor/XSSFEventBasedExcelExtractor.java 查看文件

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

Loading…
取消
儲存