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