Script: Class dw.io.RandomAccessFileReader

Class RandomAccessFileReader

  • Object
    • dw.io.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.

Constants

MAX_READ_BYTES : Number=10240L

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

Properties

position : Number

The current offset in this file.

Constructor Summary

RandomAccessFileReader(file : File)

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

Method Summary

close() : void

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

getPosition() : Number

Returns the current offset in this file.

length() : Number

Returns the length of this file.

readByte() : Number

Reads a signed eight-bit value from the file starting from the current file pointer.

readBytes(numBytes : Number) : Bytes

Reads up to n bytes from the file starting at the current file pointer.

setPosition(position : Number) : void

Sets the file-pointer offset, measured from the beginning of this file, at which the next read occurs.

Methods inherited from class Object

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

Constructor Detail

RandomAccessFileReader

publicRandomAccessFileReader(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


Method Detail

close

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

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

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

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

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

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.