Update of /var/cvs/src/org/mmbase/util/transformers
In directory james.mmbase.org:/tmp/cvs-serv1070/src/org/mmbase/util/transformers
Modified Files:
CopyCharTransformer.java ByteArrayToCharTransformer.java
Log Message:
MMB-1806 Improve io stream copy performance
See also: http://cvs.mmbase.org/viewcvs/src/org/mmbase/util/transformers
See also: http://www.mmbase.org/jira/browse/MMB-1806
Index: CopyCharTransformer.java
===================================================================
RCS file: /var/cvs/src/org/mmbase/util/transformers/CopyCharTransformer.java,v
retrieving revision 1.6
retrieving revision 1.7
diff -u -b -r1.6 -r1.7
--- CopyCharTransformer.java 8 May 2005 13:22:05 -0000 1.6
+++ CopyCharTransformer.java 7 Apr 2009 08:23:35 -0000 1.7
@@ -12,6 +12,8 @@
import java.io.Reader;
import java.io.Writer;
+import org.mmbase.util.IOUtil;
+
/**
* This is the character transformer which does not actually transform
@@ -19,7 +21,7 @@
*
* @author Michiel Meeuwissen
* @since MMBase-1.7
- * @version $Id: CopyCharTransformer.java,v 1.6 2005/05/08 13:22:05 michiel
Exp $
+ * @version $Id: CopyCharTransformer.java,v 1.7 2009/04/07 08:23:35 nklasens
Exp $
*/
public class CopyCharTransformer extends ReaderTransformer implements
CharTransformer {
@@ -33,11 +35,7 @@
// implementation, javadoc inherited
public Writer transform(Reader r, Writer w) {
try {
- while (true) {
- int c = r.read();
- if (c == -1) break;
- w.write(c);
- }
+ IOUtil.copy(r, w);
} catch (java.io.IOException e) {
System.out.println("c " + e.toString());
}
Index: ByteArrayToCharTransformer.java
===================================================================
RCS file:
/var/cvs/src/org/mmbase/util/transformers/ByteArrayToCharTransformer.java,v
retrieving revision 1.2
retrieving revision 1.3
diff -u -b -r1.2 -r1.3
--- ByteArrayToCharTransformer.java 2 Oct 2006 14:31:01 -0000 1.2
+++ ByteArrayToCharTransformer.java 7 Apr 2009 08:23:35 -0000 1.3
@@ -10,6 +10,8 @@
package org.mmbase.util.transformers;
import java.io.*;
+
+import org.mmbase.util.IOUtil;
import org.mmbase.util.logging.*;
/**
@@ -48,11 +50,7 @@
public Writer transform(InputStream in, Writer w) {
try {
ByteArrayOutputStream sw = new ByteArrayOutputStream();
- while (true) {
- int c = in.read();
- if (c <= -1) break;
- sw.write(c);
- }
+ IOUtil.copy(in, sw);
String result = transform(sw.toByteArray());
w.write(result);
} catch (java.io.IOException e) {
@@ -64,11 +62,7 @@
public OutputStream transformBack(Reader in, OutputStream out) {
try {
StringWriter sw = new StringWriter();
- while (true) {
- int c = in.read();
- if (c == -1) break;
- sw.write(c);
- }
+ IOUtil.copy(in, sw);
out.write(transformBack(sw.toString()));
} catch (java.io.IOException e) {
log.error(e.toString(), e);
_______________________________________________
Cvs mailing list
[email protected]
http://lists.mmbase.org/mailman/listinfo/cvs