提供了一组用于覆盖 dart:io
中各个 API 的模拟实现的设施。
这个抽象基类应当通过覆盖构建模拟所需的操作来扩展。这个基类中的实现默认使用实际的 dart:io
实现。例如
class MyDirectory implements Directory {
...
// An implementation of the Directory interface
...
}
void main() {
IOOverrides.runZoned(() {
...
// Operations will use MyDirectory instead of dart:io's Directory
// implementation whenever Directory is used.
...
}, createDirectory: (String path) => new MyDirectory(path));
}
构造函数
属性
方法
-
createDirectory(
String path) → Directory - 为给定的
path
创建一个新的 Directory 对象。 -
createFile(
String path) → File - 为给定的
path
创建一个新的 File 对象。 -
createLink(
String path) → Link - 为给定的
path
返回一个新的 Link 对象。 -
fseGetType(
String path, bool followLinks) → Future<FileSystemEntityType> - 异步返回
path
的FileSystemEntityType
。 -
fseGetTypeSync(
String path, bool followLinks) → FileSystemEntityType - 返回
path
的 FileSystemEntityType。 -
fseIdentical(
String path1, String path2) → Future< bool> - 异步返回
true
,如果path1
和path2
是指向同一文件系统对象的路径。 -
fseIdenticalSync(
String path1, String path2) → bool - 如果
path1
和path2
是指向同一文件系统对象的路径,则返回true
。 -
fsWatch(
String path, int events, bool recursive) → Stream< FileSystemEvent> - 返回一个 Stream 对象,包含
FileSystemEvent
。 -
fsWatchIsSupported(
) → bool - 当 FileSystemEntity.watch 支持 时返回
true
。 -
getCurrentDirectory(
) → Directory - 返回当前工作目录。
-
getSystemTempDirectory(
) → Directory - 返回系统临时目录。
-
noSuchMethod(
Invocation invocation) → dynamic - 在访问不存在的方法或属性时调用。继承
-
serverSocketBind(
dynamic address, int port, {int backlog = 0, bool v6Only = false, ) → Future< ServerSocket> - 异步返回一个连接到给定地址和端口的
ServerSocket
对象,如果成功。 -
setCurrentDirectory(
String path) → void - 设置当前工作目录为
path
。 -
socketConnect(
dynamic host, int port, {dynamic sourceAddress, int sourcePort = 0, Duration? timeout}) → Future< Socket> - 异步地返回与指定主机和端口号连接的
Socket
。 -
socketStartConnect(
dynamic host, int port, {dynamic sourceAddress, int sourcePort = 0}) → Future< ConnectionTask< Socket> > - 异步地返回一个连接到指定主机和端口号的
ConnectionTask
,如果成功则返回。 -
stat(
String path) → Future< FileStat> - 异步地返回
path
的FileStat
信息。 -
statSync(
String path) → FileStat - 返回
path
的FileStat
信息。 -
toString(
) → String - 此对象的字符串表示形式。继承
运算符
-
operator ==(
Object other) → bool - 相等运算符。继承
静态属性
- current → IOOverrides?
-
no setter
- global ← IOOverrides?
- 根Zone中使用的IOOverrides。没有getter
静态方法
-
runWithIOOverrides<
R> (R body(), IOOverrides overrides) → R - 使用在
overrides
中找到的覆盖项在一个新的Zone中运行body
。 -
runZoned<
R> (R body(), {Directory createDirectory(String)?, Directory getCurrentDirectory()?, void setCurrentDirectory(String)?, Directory getSystemTempDirectory()?, File createFile(String)?, Future< FileStat> stat(String)?, FileStat statSync(String)?, Future<bool> fseIdentical(String, String)?, bool fseIdenticalSync(String, String)?, Future<FileSystemEntityType> fseGetType(String, bool)?, FileSystemEntityType fseGetTypeSync(String, bool)?, Stream<FileSystemEvent> fsWatch(String, int, bool)?, bool fsWatchIsSupported()?, Link createLink(String)?, Future<Socket> socketConnect(dynamic, int, {dynamic sourceAddress, int sourcePort, Duration? timeout})?, Future<ConnectionTask< socketStartConnect(dynamic, int, {dynamic sourceAddress, int sourcePort})?, Future<Socket> >ServerSocket> serverSocketBind(dynamic, int, {int backlog, bool v6Only})?, Stdin stdin()?, Stdout stdout()?, Stdout stderr()?}) → R - 使用提供的覆盖功能,在新的 Zone 中运行
body
。