Dart 如何在openWrite之后完成/刷新写入/关闭
这段代码试图打开一个现有文件,然后通过openWrite向其中添加文本Dart 如何在openWrite之后完成/刷新写入/关闭,dart,Dart,这段代码试图打开一个现有文件,然后通过openWrite向其中添加文本 导入'dart:io'; main(){ File infle=新文件('/tmp/foo.txt'); 字符串currentText=infle.readAsStringSync(); var writer=infle.openWrite(); writer.write(当前文本); writer.write(“\无更多行”); writer.close(); 出口(0); } 完成后,文件为空。如果出口(0)不在那里,
导入'dart:io';
main(){
File infle=新文件('/tmp/foo.txt');
字符串currentText=infle.readAsStringSync();
var writer=infle.openWrite();
writer.write(当前文本);
writer.write(“\无更多行”);
writer.close();
出口(0);
}
完成后,文件为空。如果出口(0)不在那里,它工作正常。
应该执行什么调用以确保在退出之前写入所有写入?由于写入程序是异步的,因此您需要使用写入程序的属性,以便在写入和关闭流时收到通知。例如:
导入'dart:io';
main(){
File infle=新文件('/tmp/foo.txt');
字符串currentText=infle.readAsStringSync();
var writer=infle.openWrite();
writer.write(当前文本);
writer.write(“\无更多行”);
writer.close();
作者。完成。然后(){
出口(0);
});
}
由于写入程序是异步的,因此您需要使用写入程序的属性,以便在流的写入和关闭完成时收到通知。例如:
导入'dart:io';
main(){
File infle=新文件('/tmp/foo.txt');
字符串currentText=infle.readAsStringSync();
var writer=infle.openWrite();
writer.write(当前文本);
writer.write(“\无更多行”);
writer.close();
作者。完成。然后(){
出口(0);
});
}