我有一个文本文件(其中有内容),我想向它添加文本。这是我的代码:
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声称它是可选的。
FileMode是一个可选的命名参数,因此在调用它时必须指定它的名称("mode")。要解决您的问题,请更改此:
outputFile.writeAsStringSync(readLines[j], FileMode.append);
到此:
outputFile.writeAsStringSync(readLines[j], mode: FileMode.append);
这段代码就是您真正需要的:
import 'dart:io';
main() {
new File('test.txt').writeAsStringSync('append some more content', mode: FileMode.APPEND);
}
请注意,文件模式是一个命名参数,因此需要将其指定为mode:
。
和往常一样,使用异步版本,除非无关紧要(cli工具、启动期间的一次性初始化等)