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
此对象的哈希码。
无设置器继承
runtimeType Type
对象的运行时类型的表示。
无设置器继承
stderr Stdout
此程序写入的错误的标准输出流。
无设置器
stdin Stdin
此程序读取数据的标准输入流。
无设置器
stdout Stdout
此程序写入数据的标准输出流。
无设置器

方法

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
返回 true,如果 path1path2 是指向同一文件系统对象的路径。
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?
无设置器
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