此代码尝试打开一个现有文件,然后通过 openWrite 添加文本。
import 'dart:io';
main() {
File inFile = new File('/tmp/foo.txt');
String currentText = inFile.readAsStringSync();
var writer = inFile.openWrite();
writer.write(currentText);
writer.write("\nOne more line");
writer.close();
exit(0);
}
Run Code Online (Sandbox Code Playgroud)
完成后文件为空。如果 exit(0) 不存在,则可以正常工作。应执行哪些调用以确保在退出之前写入所有写入内容?
由于编写器是异步的,因此您将需要使用编写器的did属性,以便在流的写入和关闭完成时收到通知。例如:
import 'dart:io';
main() {
File inFile = new File('/tmp/foo.txt');
String currentText = inFile.readAsStringSync();
var writer = inFile.openWrite();
writer.write(currentText);
writer.write("\nOne more line");
writer.close();
writer.done.then((_) {
exit(0);
});
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
2829 次 |
| 最近记录: |