## 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
`private java.nio.channels.FileChannel` `channel`
`private java.nio.MappedByteBuffer` `mappedByteBuffer`

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

Method Summary
`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
`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`

### read

    public int read()
             throws java.io.IOException

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

### read

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

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

### getFilePointer

    public long getFilePointer()
                        throws java.io.IOException

  Returns:
    long
  Throws:
    `java.io.IOException`
  See Also:
    `RandomAccessFile.getFilePointer()`

### seek

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

  Parameters:
    `pos` - long position
  Throws:
    `java.io.IOException`
  See Also:
    `RandomAccessFile.seek(long)`

### length

    public long length()
                throws java.io.IOException

  Returns:
    long length
  Throws:
    `java.io.IOException`
  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