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

Reply via email to