UTF8.decoder
を に融合するトランスフォーマーを持つストリームがありLineSplitter
ます。onDone
うまく機能しますが、パラメーターで指定された関数を呼び出すことはありません。
import 'dart:async';
import 'dart:io';
import 'dart:convert';
void main(List<String> arguments) {
Stream<List<int>> stream = new File("input.txt").openRead();
stream.transform(UTF8.decoder.fuse(const LineSplitter()))
.listen((line) {
stdout.writeln(line);
}, onDone: () {
stdout.write("done");
}).asFuture().catchError((_) => print(_));
}
呼び出されない理由はありますか?