Author: ningjiang
Date: Tue Mar 16 05:14:03 2010
New Revision: 923583

URL: http://svn.apache.org/viewvc?rev=923583&view=rev
Log:
CAMEL-2551 Fixed the PipedInputStream of camel-file component

Modified:
    
camel/trunk/camel-core/src/main/java/org/apache/camel/component/file/FileOperations.java

Modified: 
camel/trunk/camel-core/src/main/java/org/apache/camel/component/file/FileOperations.java
URL: 
http://svn.apache.org/viewvc/camel/trunk/camel-core/src/main/java/org/apache/camel/component/file/FileOperations.java?rev=923583&r1=923582&r2=923583&view=diff
==============================================================================
--- 
camel/trunk/camel-core/src/main/java/org/apache/camel/component/file/FileOperations.java
 (original)
+++ 
camel/trunk/camel-core/src/main/java/org/apache/camel/component/file/FileOperations.java
 Tue Mar 16 05:14:03 2010
@@ -271,18 +271,13 @@ public class FileOperations implements G
             int size = endpoint.getBufferSize();
             byte[] buffer = new byte[size];
             ByteBuffer byteBuffer = ByteBuffer.wrap(buffer);
-            while (true) {
-                int count = in.read(buffer);
-                if (count <= 0) {
-                    break;
-                } else if (count < size) {
-                    byteBuffer = ByteBuffer.wrap(buffer, 0, count);
-                    out.write(byteBuffer);
-                    break;
-                } else {
-                    out.write(byteBuffer);
-                    byteBuffer.clear();
+            int bytesRead;
+            while ((bytesRead = in.read(buffer)) != -1) {
+                if (bytesRead < size) {
+                    byteBuffer.limit(bytesRead);
                 }
+                out.write(byteBuffer);
+                byteBuffer.clear();
             }
         } finally {
             ObjectHelper.close(in, target.getName(), LOG);


Reply via email to