字节和文本输出的组合。
IOSink 将字节 StreamSink 和 StringSink 结合起来,并允许方便地输出字节和文本。
IOSink
主要用于写入字节。通过 write 或 writeCharCode 写入的字符串将被使用 encoding 编码转换为字节。通过 add 或 addStream 添加的整数数据将被视为字节数据,并且将截断为无符号 8 位值,就像使用 int.toUnsigned 一样。此类转换的确切时间无法保证,因为它取决于背后的实现。
在使用 addStream 添加流的过程中,任何进一步尝试向 IOSink 添加或写入都会失败,直到 addStream 完成。
在接收器关闭后,向 IOSink 添加数据是错误的。
构造函数
-
IOSink(StreamConsumer<
List< target, {Encoding encoding = utf8})int> > - 创建一个输出到字节
target
StreamConsumer 的 IOSink。factory
属性
方法
-
add(
List< int> data) → void - 将字节
data
添加到目标消费者,忽略 编码。重载 -
addError(
Object error, [StackTrace? stackTrace] ) → void - 将错误传递给目标消费者作为错误事件。重载
-
addStream(
Stream< List< stream) → Futureint> > - 将给定
stream
的所有元素添加上。重载 -
close(
) → Future - 关闭目标消费者。重载
-
flush(
) → Future - 返回一个 Future,一旦所有缓冲数据被下层的 StreamConsumer 接收,就会完成。
-
noSuchMethod(
Invocation invocation) → dynamic - 在访问不存在的方法或属性时调用。继承
-
toString(
) → String - 此对象的字符串表示形式。继承
-
write(
Object? object) → void - 通过调用 Object.toString 和 add 将
object
转换为字符串,并添加到目标消费者。重载 -
writeAll(
Iterable objects, [String separator = ""]) → void - 遍历给定的
objects
并按顺序 write。重载 -
writeCharCode(
int charCode) → void - 写入
charCode
的字符。重载 -
writeln(
[Object? object = ""]) → void - 通过调用 Object.toString 将
object
转换为 String,然后将结果写入到this
中,之后追加一个换行符。重载
操作符
-
operator ==(
Object other) → bool - 等于操作符。继承