IOSink抽象 接口

字节和文本输出的组合。

IOSink 将字节 StreamSinkStringSink 结合起来,并允许方便地输出字节和文本。

IOSink 主要用于写入字节。通过 writewriteCharCode 写入的字符串将被使用 encoding 编码转换为字节。通过 addaddStream 添加的整数数据将被视为字节数据,并且将截断为无符号 8 位值,就像使用 int.toUnsigned 一样。此类转换的确切时间无法保证,因为它取决于背后的实现。

文本(write)和字节(add)的写入可以自由交织。

在使用 addStream 添加流的过程中,任何进一步尝试向 IOSink 添加或写入都会失败,直到 addStream 完成。

在接收器关闭后,向 IOSink 添加数据是错误的。

实现类型
实现者

构造函数

IOSink(StreamConsumer<List<int>> target, {Encoding encoding = utf8})
创建一个输出到字节 target StreamConsumerIOSink
factory

属性

done Future
当消费者关闭或发生错误时,此 future 将完成。
no setteroverride
encoding Encoding
写入字符串时使用的 Encoding
getter/setter 对
hashCode int
此对象的哈希码。
no setterinherited
runtimeType Type
表示对象运行时类型的表示。
no setterinherited

方法

add(List<int> data) → void
将字节 data 添加到目标消费者,忽略 编码
重载
addError(Object error, [StackTrace? stackTrace]) → void
将错误传递给目标消费者作为错误事件。
重载
addStream(Stream<List<int>> stream) Future
将给定 stream 的所有元素添加上。
重载
close() Future
关闭目标消费者。
重载
flush() Future
返回一个 Future,一旦所有缓冲数据被下层的 StreamConsumer 接收,就会完成。
noSuchMethod(Invocation invocation) → dynamic
在访问不存在的方法或属性时调用。
继承
toString() String
此对象的字符串表示形式。
继承
write(Object? object) → void
通过调用 Object.toStringaddobject 转换为字符串,并添加到目标消费者。
重载
writeAll(Iterable objects, [String separator = ""]) → void
遍历给定的 objects 并按顺序 write
重载
writeCharCode(int charCode) → void
写入 charCode 的字符。
重载
writeln([Object? object = ""]) → void
通过调用 Object.toStringobject 转换为 String,然后将结果写入到 this 中,之后追加一个换行符。
重载

操作符

operator ==(Object other) bool
等于操作符。
继承