如何将字符串连接到现有文件?

Che*_*hie 5 file append dart

我有一个文本文件(里面有内容),我想向它附加文本。这是我的代码:

File outputFile=new File('hello.out');
      outputFile.createSync();
      List<String> readLines=files[i].readAsLinesSync(Encoding.UTF_8);
      for(int j=0;j<readLines.length;j++)
      {

        outputFile.writeAsStringSync(readLines[j], FileMode.APPEND); }
Run Code Online (Sandbox Code Playgroud)

出于某种原因,Dart 在“FileMode.APPEND”下放置了一条黄线,并表示这是一个“额外的参数”。但是,此链接http://api.dartlang.org/docs/releases/latest/dart_io/File.html声称它是可选的。

plo*_*man 8

FileMode 是一个可选的命名参数,因此您在调用它时必须指定其名称('mode')。要解决您的问题,请更改以下内容:

outputFile.writeAsStringSync(readLines[j], FileMode.append);
Run Code Online (Sandbox Code Playgroud)

对此:

outputFile.writeAsStringSync(readLines[j], mode: FileMode.append);
Run Code Online (Sandbox Code Playgroud)


Kai*_*ren 5

这段代码确实是您所需要的:

import 'dart:io';

main() {
  new File('test.txt').writeAsStringSync('append some more content', mode: FileMode.APPEND);
}
Run Code Online (Sandbox Code Playgroud)

请注意,文件模式是一个命名参数,因此您需要将其指定为mode:.

一如既往,使用异步版本,除非无关紧要(cli 工具、启动期间的一次性初始化等)