Class RandomAccessFileReader

Instances of this class support reading from a random access file. A random access file behaves like a large array of bytes stored in the file system. There is a kind of cursor, or index into the implied array, called the file pointer. Read operations read bytes starting at the file pointer and advance the file pointer past the bytes read. The file pointer can be read by the getPosition method and set by the setPosition method.

ConstantDescription
MAX_READ_BYTES: Number = 10240The maximum number of bytes that a single call to readBytes(Number) can return == 10KB
PropertyDescription
position: NumberReturns the current offset in this file.
ConstructorDescription
RandomAccessFileReader(File)Construct a reader for random read access to the provided file.
MethodDescription
close()Closes this random access file reader and releases any system resources associated with the stream.
getPosition()Returns the current offset in this file.
length()Returns the length of this file.
readByte()Reads a signed eight-bit value from the file starting from the current file pointer.
readBytes(Number)Reads up to n bytes from the file starting at the current file pointer.
setPosition(Number)Sets the file-pointer offset, measured from the beginning of this file, at which the next read occurs.

assign, create, create, defineProperties, defineProperty, entries, freeze, fromEntries, getOwnPropertyDescriptor, getOwnPropertyNames, getOwnPropertySymbols, getPrototypeOf, hasOwnProperty, is, isExtensible, isFrozen, isPrototypeOf, isSealed, keys, preventExtensions, propertyIsEnumerable, seal, setPrototypeOf, toLocaleString, toString, valueOf, values

MAX_READ_BYTES: Number = 10240

The maximum number of bytes that a single call to readBytes(Number) can return == 10KB


position: Number

Returns the current offset in this file.


RandomAccessFileReader(file: File)

Construct a reader for random read access to the provided file.

To release system resources, close the reader by calling close().

Parameters:

  • file - The file to be read. Must not be null.

Throws:

  • IOException - If the given file object does not denote an existing regular file

close(): void

Closes this random access file reader and releases any system resources associated with the stream.

Throws:

  • IOException - if an I/O error occurs.

getPosition(): Number

Returns the current offset in this file.

Returns:

  • the offset from the beginning of the file, in bytes, at which the next read occurs.

Throws:

  • IOException - if an I/O error occurs.

length(): Number

Returns the length of this file.

Returns:

  • the length of this file, measured in bytes.

Throws:

  • IOException - if an I/O error occurs.

readByte(): Number

Reads a signed eight-bit value from the file starting from the current file pointer. Since the byte is interpreted as signed, the value returned will always be between -128 and +127.

Returns:

  • the next byte of this file as a signed eight-bit byte.

Throws:

  • IOException - if an I/O error occurs or if this file has reached the end.

readBytes(numBytes: Number): Bytes

Reads up to n bytes from the file starting at the current file pointer. If there are fewer than n bytes remaining in the file, then as many bytes as possible are read. If no bytes remain in the file, then null is returned.

Parameters:

  • numBytes - The number of bytes to read. Must be non-negative and smaller than MAX_READ_BYTES or an exception will be thrown.

Returns:

  • A Bytes object representing the read bytes or null if no bytes were read.

Throws:

  • IOException - if an I/O error occurs.
  • IllegalArgumentException - if numBytes< 0 or numBytes > MAX_READ_BYTES.

setPosition(position: Number): void

Sets the file-pointer offset, measured from the beginning of this file, at which the next read occurs. The offset may be set beyond the end of the file.

Parameters:

  • position - the offset position, measured in bytes from the beginning of the file, at which to set the file pointer

Throws:

  • IOException - if position is less than 0 or if an I/O error occurs.