MultiOutputStream 示例
下面是 MultiOutputStream 向绑定的所有流中写入数据示例。
import std.io.*
main(): Unit {
const size = 2
/* 将两个 ByteArrayStream 绑定到 MultiOutputStream */
let streamArr = Array<OutputStream>(size, {_ => ByteArrayStream()})
let multiOutputStream = MultiOutputStream(streamArr)
/* 往 MultiOutputStream 写入数据,会同时写入绑定的两个 ByteArrayStream */
multiOutputStream.write("test".toArray())
/* 读取 ByteArrayStream 中数据,验证结果 */
for (i in 0..size) {
match (streamArr[i]) {
case v: ByteArrayStream =>
println(String.fromUtf8(v.readToEnd()))
case _ => throw Exception()
}
}
}
运行结果
test
test