Class MappedRandomAccessFile


  • public class MappedRandomAccessFile
    extends java.lang.Object
    A MappedByteBuffer wrapped as a RandomAccessFile
    • Field Summary

      Fields 
      Modifier and Type Field Description
      private static int BUFSIZE  
      private java.nio.channels.FileChannel channel  
      private java.nio.MappedByteBuffer[] mappedBuffers  
      private long pos  
      private long size  
    • Constructor Summary

      Constructors 
      Constructor Description
      MappedRandomAccessFile​(java.lang.String filename, java.lang.String mode)
      Constructs a new MappedRandomAccessFile instance
    • Method Summary

      All Methods Static Methods Instance Methods Concrete Methods 
      Modifier and Type Method 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

      • channel

        private java.nio.channels.FileChannel channel
      • mappedBuffers

        private java.nio.MappedByteBuffer[] mappedBuffers
      • size

        private long size
      • pos

        private long pos
    • 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