com.itextpdf.text.pdf
Class RandomAccessFileOrArray

java.lang.Object
  extended by com.itextpdf.text.pdf.RandomAccessFileOrArray
All Implemented Interfaces:
DataInput

public class RandomAccessFileOrArray
extends Object
implements DataInput

An implementation of a RandomAccessFile for input only that accepts a file or a byte array as data source.

Author:
Paulo Soares

Field Summary
(package private)  byte[] arrayIn
           
(package private)  int arrayInPtr
           
(package private)  byte back
           
(package private)  String filename
           
(package private)  boolean isBack
           
(package private)  boolean plainRandomAccess
           
(package private)  MappedRandomAccessFile rf
           
private  int startOffset
          Holds value of property startOffset.
(package private)  RandomAccessFile trf
           
 
Constructor Summary
RandomAccessFileOrArray(byte[] arrayIn)
           
RandomAccessFileOrArray(InputStream is)
           
RandomAccessFileOrArray(RandomAccessFileOrArray file)
           
RandomAccessFileOrArray(String filename)
           
RandomAccessFileOrArray(String filename, boolean forceRead, boolean plainRandomAccess)
           
RandomAccessFileOrArray(URL url)
           
 
Method Summary
 void close()
           
 int getFilePointer()
           
 ByteBuffer getNioByteBuffer()
           
 int getStartOffset()
          Getter for property startOffset.
static byte[] InputStreamToArray(InputStream is)
           
protected  void insureOpen()
           
 boolean isOpen()
           
 int length()
           
 void pushBack(byte b)
           
 int read()
           
 int read(byte[] b)
           
 int read(byte[] b, int off, int len)
           
 boolean readBoolean()
           
 byte readByte()
           
 char readChar()
           
 char readCharLE()
          Reads a Unicode character from this stream in little-endian order.
 double readDouble()
           
 double readDoubleLE()
           
 float readFloat()
           
 float readFloatLE()
           
 void readFully(byte[] b)
           
 void readFully(byte[] b, int off, int len)
           
 int readInt()
           
 int readIntLE()
          Reads a signed 32-bit integer from this stream in little-endian order.
 String readLine()
           
 long readLong()
           
 long readLongLE()
           
 short readShort()
           
 short readShortLE()
          Reads a signed 16-bit number from this stream in little-endian order.
 int readUnsignedByte()
           
 long readUnsignedInt()
          Reads an unsigned 32-bit integer from this stream.
 long readUnsignedIntLE()
           
 int readUnsignedShort()
           
 int readUnsignedShortLE()
          Reads an unsigned 16-bit number from this stream in little-endian order.
 String readUTF()
           
 void reOpen()
           
 void seek(int pos)
           
 void seek(long pos)
           
 void setStartOffset(int startOffset)
          Setter for property startOffset.
 long skip(long n)
           
 int skipBytes(int n)
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

rf

MappedRandomAccessFile rf

trf

RandomAccessFile trf

plainRandomAccess

boolean plainRandomAccess

filename

String filename

arrayIn

byte[] arrayIn

arrayInPtr

int arrayInPtr

back

byte back

isBack

boolean isBack

startOffset

private int startOffset
Holds value of property startOffset.

Constructor Detail

RandomAccessFileOrArray

public RandomAccessFileOrArray(String filename)
                        throws IOException
Throws:
IOException

RandomAccessFileOrArray

public RandomAccessFileOrArray(String filename,
                               boolean forceRead,
                               boolean plainRandomAccess)
                        throws IOException
Throws:
IOException

RandomAccessFileOrArray

public RandomAccessFileOrArray(URL url)
                        throws IOException
Throws:
IOException

RandomAccessFileOrArray

public RandomAccessFileOrArray(InputStream is)
                        throws IOException
Throws:
IOException

RandomAccessFileOrArray

public RandomAccessFileOrArray(byte[] arrayIn)

RandomAccessFileOrArray

public RandomAccessFileOrArray(RandomAccessFileOrArray file)
Method Detail

InputStreamToArray

public static byte[] InputStreamToArray(InputStream is)
                                 throws IOException
Throws:
IOException

pushBack

public void pushBack(byte b)

read

public int read()
         throws IOException
Throws:
IOException

read

public int read(byte[] b,
                int off,
                int len)
         throws IOException
Throws:
IOException

read

public int read(byte[] b)
         throws IOException
Throws:
IOException

readFully

public void readFully(byte[] b)
               throws IOException
Specified by:
readFully in interface DataInput
Throws:
IOException

readFully

public void readFully(byte[] b,
                      int off,
                      int len)
               throws IOException
Specified by:
readFully in interface DataInput
Throws:
IOException

skip

public long skip(long n)
          throws IOException
Throws:
IOException

skipBytes

public int skipBytes(int n)
              throws IOException
Specified by:
skipBytes in interface DataInput
Throws:
IOException

reOpen

public void reOpen()
            throws IOException
Throws:
IOException

insureOpen

protected void insureOpen()
                   throws IOException
Throws:
IOException

isOpen

public boolean isOpen()

close

public void close()
           throws IOException
Throws:
IOException

length

public int length()
           throws IOException
Throws:
IOException

seek

public void seek(int pos)
          throws IOException
Throws:
IOException

seek

public void seek(long pos)
          throws IOException
Throws:
IOException

getFilePointer

public int getFilePointer()
                   throws IOException
Throws:
IOException

readBoolean

public boolean readBoolean()
                    throws IOException
Specified by:
readBoolean in interface DataInput
Throws:
IOException

readByte

public byte readByte()
              throws IOException
Specified by:
readByte in interface DataInput
Throws:
IOException

readUnsignedByte

public int readUnsignedByte()
                     throws IOException
Specified by:
readUnsignedByte in interface DataInput
Throws:
IOException

readShort

public short readShort()
                throws IOException
Specified by:
readShort in interface DataInput
Throws:
IOException

readShortLE

public final short readShortLE()
                        throws IOException
Reads a signed 16-bit number from this stream in little-endian order. The method reads two bytes from this stream, starting at the current stream pointer. If the two bytes read, in order, are b1 and b2, where each of the two values is between 0 and 255, inclusive, then the result is equal to:
     (short)((b2 << 8) | b1)
 

This method blocks until the two bytes are read, the end of the stream is detected, or an exception is thrown.

Returns:
the next two bytes of this stream, interpreted as a signed 16-bit number.
Throws:
EOFException - if this stream reaches the end before reading two bytes.
IOException - if an I/O error occurs.

readUnsignedShort

public int readUnsignedShort()
                      throws IOException
Specified by:
readUnsignedShort in interface DataInput
Throws:
IOException

readUnsignedShortLE

public final int readUnsignedShortLE()
                              throws IOException
Reads an unsigned 16-bit number from this stream in little-endian order. This method reads two bytes from the stream, starting at the current stream pointer. If the bytes read, in order, are b1 and b2, where 0 <= b1, b2 <= 255, then the result is equal to:
     (b2 << 8) | b1
 

This method blocks until the two bytes are read, the end of the stream is detected, or an exception is thrown.

Returns:
the next two bytes of this stream, interpreted as an unsigned 16-bit integer.
Throws:
EOFException - if this stream reaches the end before reading two bytes.
IOException - if an I/O error occurs.

readChar

public char readChar()
              throws IOException
Specified by:
readChar in interface DataInput
Throws:
IOException

readCharLE

public final char readCharLE()
                      throws IOException
Reads a Unicode character from this stream in little-endian order. This method reads two bytes from the stream, starting at the current stream pointer. If the bytes read, in order, are b1 and b2, where 0 <= b1, b2 <= 255, then the result is equal to:
     (char)((b2 << 8) | b1)
 

This method blocks until the two bytes are read, the end of the stream is detected, or an exception is thrown.

Returns:
the next two bytes of this stream as a Unicode character.
Throws:
EOFException - if this stream reaches the end before reading two bytes.
IOException - if an I/O error occurs.

readInt

public int readInt()
            throws IOException
Specified by:
readInt in interface DataInput
Throws:
IOException

readIntLE

public final int readIntLE()
                    throws IOException
Reads a signed 32-bit integer from this stream in little-endian order. This method reads 4 bytes from the stream, starting at the current stream pointer. If the bytes read, in order, are b1, b2, b3, and b4, where 0 <= b1, b2, b3, b4 <= 255, then the result is equal to:
     (b4 << 24) | (b3 << 16) + (b2 << 8) + b1
 

This method blocks until the four bytes are read, the end of the stream is detected, or an exception is thrown.

Returns:
the next four bytes of this stream, interpreted as an int.
Throws:
EOFException - if this stream reaches the end before reading four bytes.
IOException - if an I/O error occurs.

readUnsignedInt

public final long readUnsignedInt()
                           throws IOException
Reads an unsigned 32-bit integer from this stream. This method reads 4 bytes from the stream, starting at the current stream pointer. If the bytes read, in order, are b1, b2, b3, and b4, where 0 <= b1, b2, b3, b4 <= 255, then the result is equal to:
     (b1 << 24) | (b2 << 16) + (b3 << 8) + b4
 

This method blocks until the four bytes are read, the end of the stream is detected, or an exception is thrown.

Returns:
the next four bytes of this stream, interpreted as a long.
Throws:
EOFException - if this stream reaches the end before reading four bytes.
IOException - if an I/O error occurs.

readUnsignedIntLE

public final long readUnsignedIntLE()
                             throws IOException
Throws:
IOException

readLong

public long readLong()
              throws IOException
Specified by:
readLong in interface DataInput
Throws:
IOException

readLongLE

public final long readLongLE()
                      throws IOException
Throws:
IOException

readFloat

public float readFloat()
                throws IOException
Specified by:
readFloat in interface DataInput
Throws:
IOException

readFloatLE

public final float readFloatLE()
                        throws IOException
Throws:
IOException

readDouble

public double readDouble()
                  throws IOException
Specified by:
readDouble in interface DataInput
Throws:
IOException

readDoubleLE

public final double readDoubleLE()
                          throws IOException
Throws:
IOException

readLine

public String readLine()
                throws IOException
Specified by:
readLine in interface DataInput
Throws:
IOException

readUTF

public String readUTF()
               throws IOException
Specified by:
readUTF in interface DataInput
Throws:
IOException

getStartOffset

public int getStartOffset()
Getter for property startOffset.

Returns:
Value of property startOffset.

setStartOffset

public void setStartOffset(int startOffset)
Setter for property startOffset.

Parameters:
startOffset - New value of property startOffset.

getNioByteBuffer

public ByteBuffer getNioByteBuffer()
                            throws IOException
Throws:
IOException
Since:
2.0.8

Hosted by Hostbasket