RandomAccessRead looks like it could be replaced with 
java.nio.channels.SeekableByteChannel as implemented by 
java.nio.channels.FileChannel.

-- John

On 18 Feb 2014, at 12:50, Maruan Sahyoun <sahy...@fileaffairs.de> wrote:

> Yes, we could use RandomAccessRead as a base and subclasses to wrap NIO and 
> others. 
> 
> Then the parsers would use RandomAccessRead
> 
> WDYT
> 
> Maruan Sahyoun
> 
>> Am 18.02.2014 um 21:42 schrieb John Hewson <j...@jahewson.com>:
>> 
>> The streams used by BaseParser and PDFParser are sequential, so you can 
>> ignore them.
>> Use of PushBackInputStream in the non-sequential parser seems a little odd. 
>> 
>> We might want to think about getting rid of the classes in 
>> org.apache.pdfbox.io and replacing
>> them with classes from java.nio.channels. It looks like the PDFBox classes 
>> pre-date NIO.
>> With NIO we could use memory mapped files, which for large PDFFiles will 
>> perform better
>> than an InputStream.
>> 
>> -- John
>> 
>>> On 18 Feb 2014, at 03:53, Maruan Sahyoun <sahy...@fileaffairs.de> wrote:
>>> 
>>> Hi,
>>> 
>>> there are currently a number of different options to use as a base for a 
>>> potential new parser/lexer. The ones currently in use are
>>> 
>>> BaseParser: 
>>> import org.apache.pdfbox.io.PushBackInputStream;
>>> import org.apache.pdfbox.io.RandomAccess;
>>> 
>>> PDFParser (additional):
>>> import org.apache.pdfbox.io.RandomAccess;
>>> 
>>> NonSequentialParser:
>>> import org.apache.pdfbox.io.PushBackInputStream;
>>> import org.apache.pdfbox.io.RandomAccess;
>>> import org.apache.pdfbox.io.RandomAccessBuffer;
>>> import org.apache.pdfbox.io.RandomAccessBufferedFileInputStream;
>>> 
>>> There are some additional Classes/Interfaces in the io package e.g. 
>>> RandomAccessBufferedFileInputStream implementing RandomAccessRead
>>> 
>>> Any preferences, ideas of consolidating this? 
>>> 
>>> Currently I’m using RandomAccessBufferedFileInputStream with some 
>>> additional implementations of RandomAccessRead to support reading from a 
>>> ByteArray for testing purposes)
>>> 
>>> BR
>>> 
>>> Maruan Sahyoun
>> 

Reply via email to