我有以下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
字节。如果要读取为字符,请使用适当的解码器(可能utf8
(transform
流。
正如它所说,您必须将流读到最后,否则取消它。