通过 Dart 中的循环写入文件

rch*_*hkm 4 dart dart-io

我正在尝试将一系列字符串写入文件 Letters.txt。

 import "dart:io";

 main() {
   List letters = ["a", "b", "c", "d", "e", "f", "g", "h", "i", "j", "k"];
   File file = new File("Letters.txt");
   for (int i = 0; i < 10; i++) {
     file.writeAsString("${letters[i]}", mode: FileMode.APPEND);
   }
 }
Run Code Online (Sandbox Code Playgroud)

打开文件时Letters.txt,它应该显示“abcdefghij”,而是显示“j”。关于我做错了什么的任何想法?我试过FileMode: WRITE, WRITE_ONLY_APPEND, 和WRITE_ONLY,但这些都没有奏效。

Gün*_*uer 8

你需要使用

 file.writeAsStringSync("${letters[i]}", mode: FileMode.append);
Run Code Online (Sandbox Code Playgroud)

或者

main() async {
  List letters = ["a", "b", "c", "d", "e", "f", "g", "h", "i", "j", "k"];
  File file = new File("Letters.txt");
  for (int i = 0; i < 10; i++) {
    await file.writeAsString("${letters[i]}", mode: FileMode.append);
  }
}
Run Code Online (Sandbox Code Playgroud)