对文件中数据的随机访问。
RandomAccessFile
对象通过在对 File 对象调用 open
方法获得。
RandomAccessFile
具有异步和同步方法。所有异步方法都返回一个 Future,而同步方法将直接返回结果,并且阻塞当前隔离区直到结果准备就绪。
任何给定 RandomAccessFile
实例一次最多只能有一个挂起的异步方法。如果在另一个异步方法正在执行时调用另一个异步方法,将抛出 FileSystemException。
如果有一个异步方法正在挂起,也不可以调用任何同步方法。这也会抛出 FileSystemException。
构造函数
属性
方法
-
close(
) → Future< void> - 关闭文件。
-
closeSync(
) → void - 同步关闭文件。
-
flush(
) → Future< RandomAccessFile> - 将文件内容刷新到磁盘。
-
flushSync(
) → void - 同步将文件内容刷新到磁盘。
-
length(
) → Future< int> - 获取文件的长度。
-
lengthSync(
) → int - 同步获取文件的长度。
-
lock(
[FileLock mode = FileLock.exclusive, int start = 0, int end = -1]) → Future< RandomAccessFile> - 锁定文件或文件的一部分。
-
lockSync(
[FileLock mode = FileLock.exclusive, int start = 0, int end = -1]) → void - 同步锁定文件或文件的一部分。
-
noSuchMethod(
Invocation invocation) → dynamic - 当访问不存在的方法或属性时被调用。继承
-
position(
) → Future< int> - 获取文件中的当前字节位置。
-
positionSync(
) → int - 同步获取文件中的当前字节位置。
-
read(
int count) → Future< Uint8List> - 从文件中读取最多
count
字节。 -
readByte(
) → Future< int> - 从文件中读取一个字节。
-
readByteSync(
) → int - 同步从文件中读取一个字节。
-
readInto(
List< int> buffer, [int start = 0, int? end]) → Future<int> - 将字节读取到现有的
buffer
中。 -
readIntoSync(
List< int> buffer, [int start = 0, int? end]) → int - 同步将字节读取到现有的
buffer
中。 -
readSync(
int count) → Uint8List - 同步从文件中读取最多
count
字节 -
setPosition(
int position) → Future< RandomAccessFile> - 设置文件中的字节位置。
-
setPositionSync(
int position) → void - 同步设置文件中的字节位置。
-
toString(
) → String - 返回一个用于该随机访问文件的易读字符串。override
-
truncate(
int length) → Future< RandomAccessFile> - 裁剪(或扩展)文件到
length
字节。 -
truncateSync(
int length) → void - 同步裁剪(或扩展)文件到
length
字节。 -
unlock(
[int start = 0, int end = -1]) → Future< RandomAccessFile> - 解锁文件或文件的一部分。
-
unlockSync(
[int start = 0, int end = -1]) → void - 同步解锁文件或文件的一部分。
-
writeByte(
int value) → Future< RandomAccessFile> - 写入单个字节到文件。
-
writeByteSync(
int value) → int - 同步写入单个字节到文件。
-
writeFrom(
List< int> buffer, [int start = 0, int? end]) → Future<RandomAccessFile> - 从缓冲区到文件中写入数据。
-
writeFromSync(
List< int> buffer, [int start = 0, int? end]) → void - 同步地从缓冲区到文件中写入数据。
-
writeString(
String string, {Encoding encoding = utf8}) → Future< RandomAccessFile> - 使用给定的编码将字符串写入文件。
-
writeStringSync(
String string, {Encoding encoding = utf8}) → void - 使用给定的编码同步地将单个字符串写入文件。
运算符
-
operator ==(
Object other) → bool - 等号运算符。继承