IOSink抽象 接口

结合字节和文本输出。

IOSinkStreamSink 字节数据与 StringSink 结合,允许轻松输出字节和文本。

IOSink 旨在写入字节。通过 writewriteCharCode 写入的字符串将被使用 encoding 转换为字节。使用 addaddStream 添加的整数数据将被视为字节数据,并使用 int.toUnsigned 截断为无符号 8 位值。这种转换何时发生没有保证,因为这取决于后端的实现。

可以自由混合写入文本(write)和添加字节(add)。

当使用 addStream 添加流时,任何进一步尝试向 IOSink 添加或写入操作都将失败,直到 addStream 完成。

在关闭后向 IOSink 添加数据是错误的。

实现类型
实现者

构造函数

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

属性

done Future
当消费者关闭或发生错误时将完成的 future。
无设置器覆盖
encoding Encoding
写入字符串时使用的 Encoding
获取器/设置器对
hashCode int
此对象的哈希码。
无设置器继承
runtimeType Type
对象运行时类型的表示。
无设置器继承

方法

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

运算符

操作符 ==(Object other) bool
等号操作符。
inherited