IOOverrides抽象

提供了一组用于覆盖 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));
}

构造函数

IOOverrides()

属性

hashCode int
此对象的自定义哈希码。
no setter继承
runtimeType Type
表示对象的运行时类型。
no setter继承
stderr Stdout
本程序错误输出的标准输出流。
no setter
stdin Stdin
本程序数据输入的标准输入流。
no setter
stdout Stdout
本程序数据输出的标准输出流。
no setter

方法

createDirectory(String path) Directory
为给定的 path 创建一个新的 Directory 对象。
createFile(String path) File
为给定的 path 创建一个新的 File 对象。
为给定的 path 返回一个新的 Link 对象。
fseGetType(String path, bool followLinks) Future<FileSystemEntityType>
异步返回 pathFileSystemEntityType
fseGetTypeSync(String path, bool followLinks) FileSystemEntityType
返回 pathFileSystemEntityType
fseIdentical(String path1, String path2) Future<bool>
异步返回 true,如果 path1path2 是指向同一文件系统对象的路径。
fseIdenticalSync(String path1, String path2) bool
如果 path1path2 是指向同一文件系统对象的路径,则返回 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, bool shared = 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>
异步地返回pathFileStat信息。
statSync(String path) FileStat
返回pathFileStat信息。
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<Socket>> socketStartConnect(dynamic, int, {dynamic sourceAddress, int sourcePort})?, Future<ServerSocket> serverSocketBind(dynamic, int, {int backlog, bool shared, bool v6Only})?, Stdin stdin()?, Stdout stdout()?, Stdout stderr()?}) → R
使用提供的覆盖功能,在新的 Zone 中运行 body