RandomAccessFile abstract class
RandomAccessFile
provides random access to the data in a file.
RandomAccessFile
objects are obtained by calling the open
method on a File object.
A RandomAccessFile
have both asynchronous and synchronous methods. The asynchronous methods all return a Future
whereas the synchronous methods will return the result directly, and block the current isolate until the result is ready.
At most one asynchronous method can be pending on a given RandomAccessFile
instance at the time. If an asynchronous method is called when one is already in progress a FileSystemException is thrown.
If an asynchronous method is pending it is also not possible to call any synchronous methods. This will also throw a FileSystemException.
Constructors
Properties
- path → String read-only
-
Gets the path of the file underlying this RandomAccessFile.
- hashCode → int read-only, inherited
-
The hash code for this object.
- runtimeType → Type read-only, inherited
-
A representation of the runtime type of the object.
Operators
- operator ==(
other) → bool inherited -
The equality operator.
Methods
- close(
) → Future<RandomAccessFile> -
Closes the file. Returns a
Future<RandomAccessFile>
that completes with this RandomAccessFile when it has been closed. - closeSync(
) → void -
Synchronously closes the file.
- flush(
) → Future<RandomAccessFile> -
Flushes the contents of the file to disk. Returns a
Future<RandomAccessFile>
that completes with this RandomAccessFile when the flush operation completes. - flushSync(
) → void -
Synchronously flushes the contents of the file to disk.
- length(
) → Future<int> -
Gets the length of the file. Returns a
Future<int>
that completes with the length in bytes. - lengthSync(
) → int -
Synchronously gets the length of the file.
- lock(
[FileLock mode = FileLock.EXCLUSIVE, int start = 0, int end = -1 ]) → Future<RandomAccessFile> -
Locks the file or part of the file.
- lockSync(
[FileLock mode = FileLock.EXCLUSIVE, int start = 0, int end = -1 ]) → void -
Synchronously locks the file or part of the file.
- position(
) → Future<int> -
Gets the current byte position in the file. Returns a
Future<int>
that completes with the position. - positionSync(
) → int -
Synchronously gets the current byte position in the file.
- read(
int bytes) → Future<List<int>> -
Reads
bytes
bytes from a file and returns the result as a list of bytes. - readByte(
) → Future<int> -
Reads a byte from the file. Returns a
Future<int>
that completes with the byte, or with -1 if end-of-file has been reached. - readByteSync(
) → int -
Synchronously reads a single byte from the file. If end-of-file has been reached -1 is returned.
- readInto(
List<int> buffer, [ int start = 0, int end ]) → Future<int> -
Reads into an existing
List<int>
from the file. Ifstart
is present, the bytes will be filled intobuffer
from at indexstart
, otherwise index 0. Ifend
is present, theend
-start
bytes will be read intobuffer
, otherwise up tobuffer.length
. Ifend
==start
nothing happens. - readIntoSync(
List<int> buffer, [ int start = 0, int end ]) → int -
Synchronously reads into an existing
List<int>
from the file. Ifstart
is present, the bytes will be filled intobuffer
from at indexstart
, otherwise index 0. Ifend
is present, theend
-start
bytes will be read intobuffer
, otherwise up tobuffer.length
. Ifend
==start
nothing happens. - readSync(
int bytes) → List<int> -
Synchronously reads a maximum of
bytes
bytes from a file and returns the result in a list of bytes. - setPosition(
int position) → Future<RandomAccessFile> -
Sets the byte position in the file. Returns a
Future<RandomAccessFile>
that completes with this RandomAccessFile when the position has been set. - setPositionSync(
int position) → void -
Synchronously sets the byte position in the file.
- toString(
) → String -
Returns a human-readable string for this RandomAccessFile instance.
- truncate(
int length) → Future<RandomAccessFile> -
Truncates (or extends) the file to
length
bytes. Returns aFuture<RandomAccessFile>
that completes with this RandomAccessFile when the truncation has been performed. - truncateSync(
int length) → void -
Synchronously truncates (or extends) the file to
length
bytes. - unlock(
[int start = 0, int end = -1 ]) → Future<RandomAccessFile> -
Unlocks the file or part of the file.
- unlockSync(
[int start = 0, int end = -1 ]) → void -
Synchronously unlocks the file or part of the file.
- writeByte(
int value) → Future<RandomAccessFile> -
Writes a single byte to the file. Returns a
Future<RandomAccessFile>
that completes with this RandomAccessFile when the write completes. - writeByteSync(
int value) → int -
Synchronously writes a single byte to the file. Returns the number of bytes successfully written.
- writeFrom(
List<int> buffer, [ int start = 0, int end ]) → Future<RandomAccessFile> -
Writes from a
List<int>
to the file. It will read the buffer from indexstart
to indexend
. Ifstart
is omitted, it'll start from index 0. Ifend
is omitted, it will write to end ofbuffer
. - writeFromSync(
List<int> buffer, [ int start = 0, int end ]) → void -
Synchronously writes from a
List<int>
to the file. It will read the buffer from indexstart
to indexend
. Ifstart
is omitted, it'll start from index 0. Ifend
is omitted, it will write to the end ofbuffer
. - writeString(
String string, { Encoding encoding: UTF8 }) → Future<RandomAccessFile> -
Writes a string to the file using the given Encoding. Returns a
Future<RandomAccessFile>
that completes with this RandomAccessFile when the write completes. - writeStringSync(
String string, { Encoding encoding: UTF8 }) → void -
Synchronously writes a single string to the file using the given Encoding.
- noSuchMethod(
Invocation invocation) → dynamic inherited -
Invoked when a non-existent method or property is accessed.
© 2012 the Dart project authors
Licensed under the Creative Commons Attribution-ShareAlike License v4.0.
https://api.dartlang.org/stable/1.24.3/dart-io/RandomAccessFile-class.html