You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@pdfbox.apache.org by le...@apache.org on 2015/05/31 16:18:18 UTC
svn commit: r1682738 -
/pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/io/RandomAccessBufferedFileInputStream.java
Author: lehmi
Date: Sun May 31 14:18:18 2015
New Revision: 1682738
URL: http://svn.apache.org/r1682738
Log:
PDFBOX-2301: override read(byte[]) to use buffer, added a loop to readFully so that always all needed bytes are read
Modified:
pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/io/RandomAccessBufferedFileInputStream.java
Modified: pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/io/RandomAccessBufferedFileInputStream.java
URL: http://svn.apache.org/viewvc/pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/io/RandomAccessBufferedFileInputStream.java?rev=1682738&r1=1682737&r2=1682738&view=diff
==============================================================================
--- pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/io/RandomAccessBufferedFileInputStream.java (original)
+++ pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/io/RandomAccessBufferedFileInputStream.java Sun May 31 14:18:18 2015
@@ -164,6 +164,12 @@ extends InputStream implements RandomAcc
}
@Override
+ public int read(byte[] b) throws IOException
+ {
+ return read(b, 0, b.length);
+ }
+
+ @Override
public int read( byte[] b, int off, int len ) throws IOException
{
if ( fileOffset >= fileLength )
@@ -263,7 +269,11 @@ extends InputStream implements RandomAcc
public byte[] readFully(int length) throws IOException
{
byte[] b = new byte[length];
- read(b);
+ int bytesRead = read(b);
+ while(bytesRead < length)
+ {
+ bytesRead += read(b, bytesRead, length-bytesRead);
+ }
return b;
}