jeremias2002/12/02 06:15:08
Modified:src/org/apache/fop/util StreamUtilities.java
Log:
style and javadocs
added new method toByteArray()
Revision ChangesPath
1.2 +62 -10xml-fop/src/org/apache/fop/util/StreamUtilities.java
Index: StreamUtilities.java
===
RCS file: /home/cvs/xml-fop/src/org/apache/fop/util/StreamUtilities.java,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -r1.1 -r1.2
--- StreamUtilities.java 27 May 2002 10:59:08 - 1.1
+++ StreamUtilities.java 2 Dec 2002 14:15:08 - 1.2
@@ -8,6 +8,7 @@
import java.io.InputStream;
import java.io.OutputStream;
+import java.io.ByteArrayOutputStream;
import java.io.IOException;
import java.io.EOFException;
import java.io.DataInput;
@@ -29,6 +30,10 @@
* The process is buffered, so you shouldn't need
* BufferedInput/OutputStreams. Flushes when it's finished, but does
* not close either stream. Returns the number of bytes copied.
+ * @param source InputStream to read from
+ * @param sink OutputStream to write to
+ * @return long the total number of bytes copied
+ * @throws IOException In case of an I/O problem
*/
public static long streamCopy(InputStream source,
OutputStream sink) throws IOException {
@@ -39,8 +44,9 @@
// trough
int scoop;
while ((scoop = source.read(buffer)) = 0) {
-if (scoop == 0)
+if (scoop == 0) {
System.out.println(zero scoop!);
+}
sink.write(buffer, 0, scoop);
total += scoop;
}
@@ -52,13 +58,20 @@
}
/**
+ * Method streamCopy.
+ */
+/**
* Binary copies up to the given number of bytes from an input
* stream to an output stream. The process is buffered, so you
* shouldn't need BufferedInput/OutputStreams.
* Flushes when it's finished, but does not close either stream.
* Throws an EOFExeption if there aren't enough bytes available to
* transfer the requested amount.
- * Returns the total number of bytes copied.
+ * @param source InputStream to read from
+ * @param sink OutputStream to write to
+ * @param howMany requested amount of bytes that are to be copied
+ * @return long the total number of bytes copied
+ * @throws IOException In case of an I/O problem
*/
public static long streamCopy(InputStream source,
OutputStream sink, int howMany) throws
IOException {
@@ -70,10 +83,12 @@
int scoop;
while (left 0) {
scoop = source.read(buffer, 0, Math.min(BUFFER_SIZE, left));
-if (scoop 0)
+if (scoop 0) {
throw new EOFException(
- Not enough bytes to feed you in IOLib.streamCopy(source, sink,
howMany); you asked for +
- howMany + and I only have + (howMany - left));
+ Not enough bytes to feed you in
+ + IOLib.streamCopy(source, sink, howMany); you asked for
+ + howMany + and I only have + (howMany - left));
+}
sink.write(buffer, 0, scoop);
left -= scoop;
@@ -86,13 +101,20 @@
}
/**
+ * Method streamCopyWithChecksum.
+ */
+/**
* Binary copies up to the given number of bytes from an input
* stream to an output stream. The process is buffered, so you
* shouldn't need BufferedInput/OutputStreams.
* Flushes when it's finished, but does not close either stream.
* Throws an EOFExeption if there aren't enough bytes available
* to transfer the requested amount.
- * Returns the checksum of the bytes copied.
+ * @param source InputStream to read from
+ * @param sink OutputStream to write to
+ * @param howMany requested amount of bytes that are to be copied
+ * @return long the checksum of the bytes copied
+ * @throws IOException In case of an I/O problem
*/
public static long streamCopyWithChecksum(InputStream source,
OutputStream sink, int howMany) throws IOException {
@@ -105,8 +127,10 @@
int scoop;
while (left 0) {
scoop = source.read(buffer, 0, Math.min(BUFFER_SIZE, left));
-if (scoop 0)
-throw new EOFException(Not enough bytes to feed you in
IOLib.streamCopy(source, sink, howMany));
+if (scoop 0) {
+throw new EOFException(Not enough bytes to feed you in
++ IOLib.streamCopy(source, sink, howMany));
+}