com.lowagie.text.pdf

## Class MappedRandomAccessFile

- java.lang.Object
- - com.lowagie.text.pdf.MappedRandomAccessFile

-     public class MappedRandomAccessFile
      extends java.lang.Object

  A `MappedByteBuffer` wrapped as a `RandomAccessFile`
  Author:
    Joakim Sandstroem Created on 6.9.2006

- - ### Field Summary

    Fields
    Modifier and Type | Field and Description
    --- | ---
    `private java.nio.channels.FileChannel` | `channel`
    `private java.nio.MappedByteBuffer` | `mappedByteBuffer`

  - ### Constructor Summary

    Constructors
    Constructor and Description
    `MappedRandomAccessFile(java.lang.String filename, java.lang.String mode)` Constructs a new MappedRandomAccessFile instance

  - ### Method Summary

    Methods
    Modifier and Type | Method and Description
    --- | ---
    `static boolean` | `clean(java.nio.ByteBuffer buffer)` invokes the clean method on the ByteBuffer's cleaner
    `void` | `close()`
    `protected void` | `finalize()` invokes the close method
    `java.nio.channels.FileChannel` | `getChannel()`
    `long` | `getFilePointer()`
    `private void` | `init(java.nio.channels.FileChannel channel, java.nio.channels.FileChannel.MapMode mapMode)` initializes the channel and mapped bytebuffer
    `long` | `length()`
    `int` | `read()`
    `int` | `read(byte[] bytes, int off, int len)`
    `void` | `seek(long pos)`

    - ### Methods inherited from class java.lang.Object

      `clone, equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

- - ### Field Detail

    - #### mappedByteBuffer

          private java.nio.MappedByteBuffer mappedByteBuffer

    - #### channel

          private java.nio.channels.FileChannel channel

  - ### Constructor Detail

    - #### MappedRandomAccessFile

          public MappedRandomAccessFile(java.lang.String filename,
                                java.lang.String mode)
                                 throws java.io.FileNotFoundException,
                                        java.io.IOException

      Constructs a new MappedRandomAccessFile instance
      Parameters:
        `filename` - String
        `mode` - String r, w or rw
      Throws:
        `java.io.FileNotFoundException`
        `java.io.IOException`

  - ### Method Detail

    - #### init

          private void init(java.nio.channels.FileChannel channel,
                  java.nio.channels.FileChannel.MapMode mapMode)
                     throws java.io.IOException

      initializes the channel and mapped bytebuffer
      Parameters:
        `channel` - FileChannel
        `mapMode` - FileChannel.MapMode
      Throws:
        `java.io.IOException`

    - #### getChannel

          public java.nio.channels.FileChannel getChannel()

      Since:
        2.0.8

    - #### read

          public int read()

      Returns:
        int next integer or -1 on EOF
      See Also:
        `RandomAccessFile.read()`

    - #### read

          public int read(byte[] bytes,
                 int off,
                 int len)

      Parameters:
        `bytes` - byte[]
        `off` - int offset
        `len` - int length
      Returns:
        int bytes read or -1 on EOF
      See Also:
        `RandomAccessFile.read(byte[], int, int)`

    - #### getFilePointer

          public long getFilePointer()

      Returns:
        long
      See Also:
        `RandomAccessFile.getFilePointer()`

    - #### seek

          public void seek(long pos)

      Parameters:
        `pos` - long position
      See Also:
        `RandomAccessFile.seek(long)`

    - #### length

          public long length()

      Returns:
        long length
      See Also:
        `RandomAccessFile.length()`

    - #### close

          public void close()
                     throws java.io.IOException

      Throws:
        `java.io.IOException`
      See Also:
        `Cleans the mapped bytebuffer and closes the channel`

    - #### finalize

          protected void finalize()
                           throws java.lang.Throwable

      invokes the close method
      Overrides:
        `finalize` in class `java.lang.Object`
      Throws:
        `java.lang.Throwable`
      See Also:
        `Object.finalize()`

    - #### clean

          public static boolean clean(java.nio.ByteBuffer buffer)

      invokes the clean method on the ByteBuffer's cleaner
      Parameters:
        `buffer` - ByteBuffer
      Returns:
        boolean true on success