diff options
author | Jeremias Maerki <jeremias@apache.org> | 2003-11-08 14:19:45 +0000 |
---|---|---|
committer | Jeremias Maerki <jeremias@apache.org> | 2003-11-08 14:19:45 +0000 |
commit | a7b3b35dd6c78fd7e3aeabca6884f88834e77618 (patch) | |
tree | feacde1d193669a0d6b6125746c326d89bb6c730 /src/java | |
parent | 6fc3de15475d124f8d9905952903db141c5a6f68 (diff) | |
download | xmlgraphics-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.java | 23 |
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: '" |