Android 颤振中的缓冲文件读取
我有下面的Dart代码,我试图使读取文件缓冲。就像java的<代码> BufferedReader < /C>或C++ >代码> IFSturi。有这样的功能吗?我甚至找不到Android 颤振中的缓冲文件读取,android,dart,flutter,Android,Dart,Flutter,我有下面的Dart代码,我试图使读取文件缓冲。就像java的 BufferedReader < /C>或C++ >代码> IFSturi。有这样的功能吗?我甚至找不到file.dart或file\u impl.dart中提到的缓冲区。如果我正确理解了调试,Dart似乎正在一次读取整个文件 那么,有谁能帮我把它缓冲起来,或者给我指出缓冲区所在的正确方向吗 final file = File(join(documentsDirectory, "xxx.txt")); final List<St
file.dart
或file\u impl.dart
中提到的缓冲区。如果我正确理解了调试,Dart似乎正在一次读取整个文件
那么,有谁能帮我把它缓冲起来,或者给我指出缓冲区所在的正确方向吗
final file = File(join(documentsDirectory, "xxx.txt"));
final List<String> lines = await file.readAsLines(); //file.readAsLinesSync()
lines.forEach((line) {
....
});
final file=file(join(documents目录,“xxx.txt”);
最终列表行=wait file.readAsLines()//readAsLinesSync()文件
行。forEach((行){
....
});
使用file.openRead()
。这将返回一个字节流
。如果要以字符形式读取,请使用适当的解码器(可能是utf8
)转换流
正如上面所说,您必须将流读到最后,或者取消它。好的,谢谢。这似乎是目前的解决方案。我认为它的缓冲区大小
\u blockSize=64*1024
是不能更改的吗?我以前观察到它似乎使用64k,是的。我从来没有必要改变它。你能看看我的编辑,如果你也有答案吗?你是在发布模式还是调试模式?这将产生很大的不同。readAsLines
的源代码可以在文件\u impl.dart
中找到,因此您应该能够尝试两种不同的方法。使用instead@pskink对但是速度对我来说并不重要。我想要大小可变的缓冲区。