【问题标题】:How do I concatenate string to an existing file?如何将字符串连接到现有文件?
【发布时间】:2013-02-07 08:40:24
【问题描述】:

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

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 声称它是可选的。

【问题讨论】:

    标签: file append dart


    【解决方案1】:

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

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

    到这里:

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

    【讨论】:

    • 谢谢,它成功了 :) 我是 dart 新手,我想知道,什么是命名参数?
    • FileMode.APPEND 现在已弃用。所有 FileMode 参数都转换为小写。使用 FileMode.append。
    【解决方案2】:

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

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

    注意文件模式是一个命名参数,所以需要指定为mode:

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2019-11-05
      • 2015-01-21
      • 1970-01-01
      • 2020-05-16
      • 1970-01-01
      • 1970-01-01
      • 2020-08-16
      相关资源
      最近更新 更多