Author: jochen
Date: Tue Jun 15 06:31:13 2010
New Revision: 954722

URL: http://svn.apache.org/viewvc?rev=954722&view=rev
Log:
Adding implementation of skip(long).

Modified:
    
james/mime4j/trunk/core/src/main/java/org/apache/james/mime4j/io/LineReaderInputStreamAdaptor.java

Modified: 
james/mime4j/trunk/core/src/main/java/org/apache/james/mime4j/io/LineReaderInputStreamAdaptor.java
URL: 
http://svn.apache.org/viewvc/james/mime4j/trunk/core/src/main/java/org/apache/james/mime4j/io/LineReaderInputStreamAdaptor.java?rev=954722&r1=954721&r2=954722&view=diff
==============================================================================
--- 
james/mime4j/trunk/core/src/main/java/org/apache/james/mime4j/io/LineReaderInputStreamAdaptor.java
 (original)
+++ 
james/mime4j/trunk/core/src/main/java/org/apache/james/mime4j/io/LineReaderInputStreamAdaptor.java
 Tue Jun 15 06:31:13 2010
@@ -126,4 +126,23 @@ public class LineReaderInputStreamAdapto
                        return false;
                }
        }
+
+       @Override
+       public long skip(long count) throws IOException {
+               if (count <= 0) {
+                       return 0; // So specified by InputStream.skip(long).
+               }
+               final int bufferSize = count > 8192 ? 8192 : (int) count;
+               final byte[] buffer = new byte[bufferSize];
+               long result = 0;
+               while (count > 0) {
+                       int res = read(buffer);
+                       if (res == -1) {
+                               break;
+                       }
+                       result += res;
+                       count -= res;
+               }
+               return result;
+       }
 }


Reply via email to