Package ucar.unidata.io
Class InMemoryRandomAccessFile
java.lang.Object
ucar.unidata.io.RandomAccessFile
ucar.unidata.io.InMemoryRandomAccessFile
- All Implemented Interfaces:
Closeable,DataInput,DataOutput,AutoCloseable,ucar.nc2.util.cache.FileCacheable
A RandomAccessFile stored entirely in memory as a byte array.
-
Nested Class Summary
Nested ClassesModifier and TypeClassDescriptionstatic classHook for service provider interface RandomAccessFileProvider -
Field Summary
Fields inherited from class ucar.unidata.io.RandomAccessFile
BIG_ENDIAN, LITTLE_ENDIAN -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionlonglength()Get the length of the file.longreadToByteChannel(WritableByteChannel dest, long offset, long nbytes) Readnbytesbytes, at the specified file offset, send to a WritableByteChannel.voidsetBufferSize(int bufferSize) Set the buffer size.Methods inherited from class ucar.unidata.io.RandomAccessFile
acquire, acquire, close, eject, enableDefaultGlobalFileCache, flush, getAllFiles, getBufferSize, getDebugLeaks, getDebugNbytes, getDebugNseeks, getFilePointer, getGlobalFileCache, getLastModified, getLocation, getMaxOpenFileCount, getOpenFileCount, getOpenFiles, getRandomAccessFile, isAtEndOfFile, isDirectory, order, order, reacquire, read, read, read, readBoolean, readByte, readBytes, readBytes, readChar, readDouble, readDouble, readFloat, readFloat, readFully, readFully, readInt, readInt, readIntUnbuffered, readLine, readLine, readLong, readLong, readShort, readShort, readString, readString, readStringMax, readStringMax, readUnsignedByte, readUnsignedShort, readUTF, release, searchForward, seek, setDebugAccess, setDebugLeaks, setExtendMode, setFileCache, setGlobalFileCache, setMinLength, shutdown, skipBytes, skipBytes, toString, unread, write, write, write, writeBoolean, writeBoolean, writeByte, writeBytes, writeBytes, writeBytes, writeChar, writeChar, writeChar, writeChar, writeChar, writeChar, writeChars, writeChars, writeChars, writeDouble, writeDouble, writeDouble, writeDouble, writeDouble, writeDouble, writeFloat, writeFloat, writeFloat, writeFloat, writeFloat, writeFloat, writeInt, writeInt, writeInt, writeInt, writeInt, writeInt, writeLong, writeLong, writeLong, writeLong, writeLong, writeLong, writeShort, writeShort, writeShort, writeShort, writeShort, writeShort, writeUTF
-
Constructor Details
-
InMemoryRandomAccessFile
Constructor.- Parameters:
name- used as the locationdata- the complete data file
-
-
Method Details
-
length
public long length()Description copied from class:RandomAccessFileGet the length of the file. The data in the buffer (which may not have been written the disk yet) is taken into account.- Overrides:
lengthin classRandomAccessFile- Returns:
- the length of the file in bytes.
-
setBufferSize
public void setBufferSize(int bufferSize) Description copied from class:RandomAccessFileSet the buffer size. If writing, call flush() first.- Overrides:
setBufferSizein classRandomAccessFile- Parameters:
bufferSize- length in bytes
-
readToByteChannel
public long readToByteChannel(WritableByteChannel dest, long offset, long nbytes) throws IOException Description copied from class:RandomAccessFileReadnbytesbytes, at the specified file offset, send to a WritableByteChannel. This will block until all bytes are read. This uses the underlying file channel directly, bypassing all user buffers.- Overrides:
readToByteChannelin classRandomAccessFile- Parameters:
dest- write to this WritableByteChannel.offset- the offset in the file where copying will start.nbytes- the number of bytes to read.- Returns:
- the actual number of bytes read and transfered
- Throws:
IOException- if an I/O error occurs.
-