HEADER

ru.biosoft.util
Class FastFileBuffer

ru.biosoft.util.FileBuffer
  |
  +--ru.biosoft.util.FastFileBuffer

public class FastFileBuffer
extends FileBuffer

Optimized by speed implementation of FileBuffer interface.


Constructor Summary
FastFileBuffer(RandomAccessFile rndFile, int sz)
          Constructs the RandomAccessBuffer object .
FastFileBuffer(RandomAccessFile rndFile)
          Constructs the RandomAccessBuffer object .
FastFileBuffer(File file, int sz)
          Constructs the RandomAccessBuffer object .
FastFileBuffer(File file)
          Constructs the RandomAccessBuffer object.

Method Summary
 voidclose()
          Closes the buffer.
 byteread(int pos)
          Reads one byte from requested position.
 voidwrite(int pos, byte bt)
          Writes one byte to the requested position in the buffer.

Constructor Detail

FastFileBuffer

public FastFileBuffer(RandomAccessFile rndFile, int sz)
throws java.io.IOException
Constructs the RandomAccessBuffer object .
Creates two buffers by size sz
fills them with preceding reading
Parameters:
rndFile - random access file
sz - Size of one buffer.
Throws:
IOException - any I/O errors

FastFileBuffer

public FastFileBuffer(RandomAccessFile rndFile)
throws java.io.IOException
Constructs the RandomAccessBuffer object .
Creates two buffers by size sz
fills them with preceding reading
Parameters:
rndFile - random access file
Throws:
IOException - any I/O errors

FastFileBuffer

public FastFileBuffer(File file, int sz)
throws java.io.IOException
Constructs the RandomAccessBuffer object .
Creates two buffers by size sz
fills them with preceding reading
Parameters:
file - random access file
sz - Size of one buffer.
Throws:
IOException - any I/O errors
IOException IOException any I/O errors

FastFileBuffer

public FastFileBuffer(File file)
throws java.io.IOException
Constructs the RandomAccessBuffer object.
Creates two buffers by size sz
fills them with preceding reading
Parameters:
file - random access file
Throws:
IOException - any I/O errors
Method Detail

close

public void close()
throws java.io.IOException
Closes the buffer.
Throws:
IOException - if an I/O error occurs.

read

public byte read(int pos)
throws java.io.IOException
Reads one byte from requested position. If byte is already in any buffer then it returns. Otherwise one of two buffers is filled by new data from position pos minus half buffer size. Method selects buffer which more distant from specified position.
Parameters:
pos - position of requested byte
Returns: requested byte
Throws:
IOException - any I/O errors

write

public void write(int pos, byte bt)
throws java.io.IOException
Writes one byte to the requested position in the buffer. If specified position maps to any region in any of the two buffers the byte is stored into the buffer. Otherwise one of the two buffers is written into file and required portion of data is read from file back into buffer so it will satisfy the requested position. Method selects buffer which more distant from specified position.
Parameters:
pos - position of requested byte
bt - stored byte
Throws:
IOException - any I/O errors

Association Links

to Class org.apache.log4j.Category

to Class java.io.RandomAccessFile


FOOTER

BOTTOM