我有跟随Dart代码,我正在尝试读取缓冲的文件。就像Java的BufferedReader
或C ++ ifstream
一样。有这样的功能吗?我甚至找不到file.dart
和file_impl.dart
中提到的缓冲区。如果我理解我的调试正确,似乎Dart一次读取整个文件。
那么有人可以帮助我缓冲或指向我正确的方向缓冲区吗?
final file = File(join(documentsDirectory, "xxx.txt"));
final List<String> lines = await file.readAsLines(); //file.readAsLinesSync()
lines.forEach((line) {
....
});
使用file.openRead()
。这将返回Stream
的字节。如果你想读作字符,transform
流使用适当的解码器(可能是utf8
)。
正如它所说,你必须阅读流到最后,或取消它。