dart:io
RandomAccessFile 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
- RandomAccessFile()
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.
Methods
- close() → Future<void>
- Closes the file. Returns a
Future that completes 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<Uint8List>
- 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. If
start is present, the bytes will be filled into buffer from at index start, otherwise index 0. If end is present, the end - start bytes will be read into buffer, otherwise up to buffer.length. If end == start nothing happens. [...] - readIntoSync(List<int> buffer, [ int start = 0, int end ]) → int
- Synchronously reads into an existing List<int> from the file. If
start is present, the bytes will be filled into buffer from at index start, otherwise index 0. If end is present, the end - start bytes will be read into buffer, otherwise up to buffer.length. If end == start nothing happens. [...] - readSync(int bytes) → Uint8List
- 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
override
- Returns a human-readable string for this RandomAccessFile instance.
- truncate(int length) → Future<RandomAccessFile>
- Truncates (or extends) the file to
length bytes. Returns a Future<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 index
start to index end. If start is omitted, it'll start from index 0. If end is omitted, it will write to end of buffer. [...] - 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 index
start to index end. If start is omitted, it'll start from index 0. If end is omitted, it will write to the end of buffer. [...] - 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. [...]
Operators
- operator ==(dynamic other) → bool
inherited
- The equality operator. [...]