com.lowagie.text.pdf
Class MappedRandomAccessFile

java.lang.Object
  extended by 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