aboutsummaryrefslogtreecommitdiffstats
path: root/src/java
diff options
context:
space:
mode:
authorJeremias Maerki <jeremias@apache.org>2003-11-08 14:19:45 +0000
committerJeremias Maerki <jeremias@apache.org>2003-11-08 14:19:45 +0000
commita7b3b35dd6c78fd7e3aeabca6884f88834e77618 (patch)
treefeacde1d193669a0d6b6125746c326d89bb6c730 /src/java
parent6fc3de15475d124f8d9905952903db141c5a6f68 (diff)
downloadxmlgraphics-fop-a7b3b35dd6c78fd7e3aeabca6884f88834e77618.tar.gz
xmlgraphics-fop-a7b3b35dd6c78fd7e3aeabca6884f88834e77618.zip
Changed image loading to use Commons IO.
Properly close InputStream. git-svn-id: https://svn.apache.org/repos/asf/xmlgraphics/fop/trunk@196995 13f79535-47bb-0310-9956-ffa450edef68
Diffstat (limited to 'src/java')
-rw-r--r--src/java/org/apache/fop/render/rtf/rtflib/rtfdoc/RtfExternalGraphic.java23
1 files changed, 8 insertions, 15 deletions
diff --git a/src/java/org/apache/fop/render/rtf/rtflib/rtfdoc/RtfExternalGraphic.java b/src/java/org/apache/fop/render/rtf/rtflib/rtfdoc/RtfExternalGraphic.java
index 6af9e4ce9..d4ac4d9fa 100644
--- a/src/java/org/apache/fop/render/rtf/rtflib/rtfdoc/RtfExternalGraphic.java
+++ b/src/java/org/apache/fop/render/rtf/rtflib/rtfdoc/RtfExternalGraphic.java
@@ -58,15 +58,14 @@
package org.apache.fop.render.rtf.rtflib.rtfdoc;
+import org.apache.commons.io.IOUtil;
import org.apache.fop.render.rtf.rtflib.tools.ImageConstants;
import org.apache.fop.render.rtf.rtflib.tools.ImageUtil;
//import org.apache.fop.render.rtf.rtflib.tools.jpeg.Encoder;
//import org.apache.fop.render.rtf.rtflib.tools.jpeg.JPEGException;
-import java.io.BufferedInputStream;
-
-import java.io.ByteArrayOutputStream;
import java.io.IOException;
+import java.io.InputStream;
import java.io.Writer;
import java.io.File;
@@ -247,18 +246,12 @@ public class RtfExternalGraphic extends RtfElement {
data = null;
try {
- // image reading patch provided by Michael Krause <michakurt@web.de>
- final BufferedInputStream bin = new BufferedInputStream(url.openStream());
- final ByteArrayOutputStream bout = new ByteArrayOutputStream();
- while (true) {
- final int datum = bin.read();
- if (datum == -1) {
- break;
- }
- bout.write(datum);
- }
- bout.flush();
- data = bout.toByteArray();
+ final InputStream in = url.openStream();
+ try {
+ data = IOUtil.toByteArray(url.openStream());
+ } finally {
+ IOUtil.shutdownStream(in);
+ }
} catch (Exception e) {
throw new ExternalGraphicException("The attribute 'src' of "
+ "<fo:external-graphic> has a invalid value: '"