【问题标题】:Why aren't I adding to a file instead of overwriting?为什么我不添加到文件而不是覆盖?
【发布时间】:2011-03-31 21:17:59
【问题描述】:

我对 Android 开发非常陌生。我已经创建了一个用户将填写的表单,并且我正在尝试编写一个函数,它将以制表符分隔的字符串中的数据保存到一个外部文件中,以便稍后我可以提取或发送电子邮件。但是,每当我向文件写入新字符串时,它都会覆盖已经存在的内容。救命!

这是在文件中添加行的代码。

if(hasExternalStoragePrivateFile()){
    File file = new File(getExternalFilesDir(null), fileNameSetting.getString(OUTPUT_FILE_NAME, ""));

    String inputLine = generateLine();

    try{
        OutputStream os = new FileOutputStream(file);
        PrintWriter out = new PrintWriter(os);
        out.println(inputLine);
        out.flush();
        out.close();
        }catch (java.io.IOException e) {

    }
    Log.v(DEBUG_TAG, "Line Added");
}
questionScreen1.this.finish();

【问题讨论】:

    标签: java android file-io external writing


    【解决方案1】:

    我在 Java 方面工作不多,但我相信您需要将 true 传递给 FileOutputStream 构造函数,以便打开文件以进行追加。

    OutputStream os = new FileOutputStream(file, true);
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2017-11-11
      • 1970-01-01
      • 2013-06-02
      • 1970-01-01
      • 2018-12-13
      • 2013-05-04
      • 2016-06-19
      • 2011-02-28
      相关资源
      最近更新 更多