6

我有一个文本文件(其中有内容),我想在其中附加文本。这是我的代码:

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); }

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

4

2 回答 2

9

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

outputFile.writeAsStringSync(readLines[j], FileMode.append);

对此:

outputFile.writeAsStringSync(readLines[j], mode: FileMode.append);
于 2013-02-21T23:03:23.250 回答
3

这段代码真的是你所需要的:

import 'dart:io';

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

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

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

于 2013-02-22T00:24:54.567 回答