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