## com.lowagie.text.pdf
Class RandomAccessFileOrArray

    java.lang.Object
      com.lowagie.text.pdf.RandomAccessFileOrArray

All Implemented Interfaces:
  java.io.DataInput

    public class RandomAccessFileOrArray

extends java.lang.Object
implements java.io.DataInput

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

Author:
  Paulo Soares (psoares@consiste.pt)

Field Summary
`(package private) byte[]` `arrayIn`
`(package private) int` `arrayInPtr`
`(package private) byte` `back`
`(package private) java.lang.String` `filename`
`(package private) boolean` `isBack`
`(package private) boolean` `plainRandomAccess`
`(package private) MappedRandomAccessFile` `rf`
`private int` `startOffset` Holds value of property startOffset.
`(package private) java.io.RandomAccessFile` `trf`

Constructor Summary
`RandomAccessFileOrArray(byte[] arrayIn)`
`RandomAccessFileOrArray(java.io.InputStream is)`
`RandomAccessFileOrArray(RandomAccessFileOrArray file)`
`RandomAccessFileOrArray(java.lang.String filename)`
`RandomAccessFileOrArray(java.lang.String filename, boolean forceRead, boolean plainRandomAccess)`
`RandomAccessFileOrArray(java.net.URL url)`

Method Summary
`void` `close()`
`int` `getFilePointer()`
`java.nio.ByteBuffer` `getNioByteBuffer()`
`int` `getStartOffset()` Getter for property startOffset.
`static byte[]` `InputStreamToArray(java.io.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.
`java.lang.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.
`java.lang.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

    java.io.RandomAccessFile trf

### plainRandomAccess

    boolean plainRandomAccess

### filename

    java.lang.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(java.lang.String filename)
                            throws java.io.IOException

Throws:
  `java.io.IOException`

### RandomAccessFileOrArray

    public RandomAccessFileOrArray(java.lang.String filename,
                                   boolean forceRead,
                                   boolean plainRandomAccess)
                            throws java.io.IOException

Throws:
  `java.io.IOException`

### RandomAccessFileOrArray

    public RandomAccessFileOrArray(java.net.URL url)
                            throws java.io.IOException

Throws:
  `java.io.IOException`

### RandomAccessFileOrArray

    public RandomAccessFileOrArray(java.io.InputStream is)
                            throws java.io.IOException

Throws:
  `java.io.IOException`

### RandomAccessFileOrArray

    public RandomAccessFileOrArray(byte[] arrayIn)

### RandomAccessFileOrArray

    public RandomAccessFileOrArray(RandomAccessFileOrArray file)

Method Detail

### InputStreamToArray

    public static byte[] InputStreamToArray(java.io.InputStream is)
                                     throws java.io.IOException

  Throws:
    `java.io.IOException`

### pushBack

    public void pushBack(byte b)

### read

    public int read()
             throws java.io.IOException

  Throws:
    `java.io.IOException`

### read

    public int read(byte[] b,
                    int off,
                    int len)
             throws java.io.IOException

  Throws:
    `java.io.IOException`

### read

    public int read(byte[] b)
             throws java.io.IOException

  Throws:
    `java.io.IOException`

### readFully

    public void readFully(byte[] b)
                   throws java.io.IOException

  Specified by:
    `readFully` in interface `java.io.DataInput`
  Throws:
    `java.io.IOException`

### readFully

    public void readFully(byte[] b,
                          int off,
                          int len)
                   throws java.io.IOException

  Specified by:
    `readFully` in interface `java.io.DataInput`
  Throws:
    `java.io.IOException`

### skip

    public long skip(long n)
              throws java.io.IOException

  Throws:
    `java.io.IOException`

### skipBytes

    public int skipBytes(int n)
                  throws java.io.IOException

  Specified by:
    `skipBytes` in interface `java.io.DataInput`
  Throws:
    `java.io.IOException`

### reOpen

    public void reOpen()
                throws java.io.IOException

  Throws:
    `java.io.IOException`

### insureOpen

    protected void insureOpen()
                       throws java.io.IOException

  Throws:
    `java.io.IOException`

### isOpen

    public boolean isOpen()

### close

    public void close()
               throws java.io.IOException

  Throws:
    `java.io.IOException`

### length

    public int length()
               throws java.io.IOException

  Throws:
    `java.io.IOException`

### seek

    public void seek(int pos)
              throws java.io.IOException

  Throws:
    `java.io.IOException`

### seek

    public void seek(long pos)
              throws java.io.IOException

  Throws:
    `java.io.IOException`

### getFilePointer

    public int getFilePointer()
                       throws java.io.IOException

  Throws:
    `java.io.IOException`

### readBoolean

    public boolean readBoolean()
                        throws java.io.IOException

  Specified by:
    `readBoolean` in interface `java.io.DataInput`
  Throws:
    `java.io.IOException`

### readByte

    public byte readByte()
                  throws java.io.IOException

  Specified by:
    `readByte` in interface `java.io.DataInput`
  Throws:
    `java.io.IOException`

### readUnsignedByte

    public int readUnsignedByte()
                         throws java.io.IOException

  Specified by:
    `readUnsignedByte` in interface `java.io.DataInput`
  Throws:
    `java.io.IOException`

### readShort

    public short readShort()
                    throws java.io.IOException

  Specified by:
    `readShort` in interface `java.io.DataInput`
  Throws:
    `java.io.IOException`

### readShortLE

    public final short readShortLE()
                            throws java.io.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:
    `java.io.EOFException` - if this stream reaches the end before reading two bytes.
    `java.io.IOException` - if an I/O error occurs.

### readUnsignedShort

    public int readUnsignedShort()
                          throws java.io.IOException

  Specified by:
    `readUnsignedShort` in interface `java.io.DataInput`
  Throws:
    `java.io.IOException`

### readUnsignedShortLE

    public final int readUnsignedShortLE()
                                  throws java.io.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:
    `java.io.EOFException` - if this stream reaches the end before reading two bytes.
    `java.io.IOException` - if an I/O error occurs.

### readChar

    public char readChar()
                  throws java.io.IOException

  Specified by:
    `readChar` in interface `java.io.DataInput`
  Throws:
    `java.io.IOException`

### readCharLE

    public final char readCharLE()
                          throws java.io.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:
    `java.io.EOFException` - if this stream reaches the end before reading two bytes.
    `java.io.IOException` - if an I/O error occurs.

### readInt

    public int readInt()
                throws java.io.IOException

  Specified by:
    `readInt` in interface `java.io.DataInput`
  Throws:
    `java.io.IOException`

### readIntLE

    public final int readIntLE()
                        throws java.io.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:
    `java.io.EOFException` - if this stream reaches the end before reading four bytes.
    `java.io.IOException` - if an I/O error occurs.

### readUnsignedInt

    public final long readUnsignedInt()
                               throws java.io.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:
    `java.io.EOFException` - if this stream reaches the end before reading four bytes.
    `java.io.IOException` - if an I/O error occurs.

### readUnsignedIntLE

    public final long readUnsignedIntLE()
                                 throws java.io.IOException

  Throws:
    `java.io.IOException`

### readLong

    public long readLong()
                  throws java.io.IOException

  Specified by:
    `readLong` in interface `java.io.DataInput`
  Throws:
    `java.io.IOException`

### readLongLE

    public final long readLongLE()
                          throws java.io.IOException

  Throws:
    `java.io.IOException`

### readFloat

    public float readFloat()
                    throws java.io.IOException

  Specified by:
    `readFloat` in interface `java.io.DataInput`
  Throws:
    `java.io.IOException`

### readFloatLE

    public final float readFloatLE()
                            throws java.io.IOException

  Throws:
    `java.io.IOException`

### readDouble

    public double readDouble()
                      throws java.io.IOException

  Specified by:
    `readDouble` in interface `java.io.DataInput`
  Throws:
    `java.io.IOException`

### readDoubleLE

    public final double readDoubleLE()
                              throws java.io.IOException

  Throws:
    `java.io.IOException`

### readLine

    public java.lang.String readLine()
                              throws java.io.IOException

  Specified by:
    `readLine` in interface `java.io.DataInput`
  Throws:
    `java.io.IOException`

### readUTF

    public java.lang.String readUTF()
                             throws java.io.IOException

  Specified by:
    `readUTF` in interface `java.io.DataInput`
  Throws:
    `java.io.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 java.nio.ByteBuffer getNioByteBuffer()
                                         throws java.io.IOException

  Throws:
    `java.io.IOException`
  Since:
    2.0.8

Hosted by Hostbasket