【问题标题】:Writing in file that already exists - but i have a issue写入已经存在的文件 - 但我有一个问题
【发布时间】:2013-07-04 18:53:33
【问题描述】:

我有一个代码应该在 File.. - 如果文件不存在,它应该使用该名称创建新文件。 - 如果文件存在,它应该只写新行...

它似乎总是创建新文件,我不知道如何避免它...... 这是我的代码...

如果文件已经存在,如何让它只写新行?

谢谢你的时间......

if (isANumber(value) == true) {
    String valResult = "validation_result=VALID";
    BufferedWriter writer = null;
    writer = new BufferedWriter(new OutputStreamWriter(new FileOutputStream("ValidationResults.txt")));
    System.out.println("Writing in TEXT file: " + "type=" + key + ";value=" +  value + ";" + valResult);
    writer.newLine();
    writer.write("\ntype=" + key + ";value=" +  value +  valResult + "\n");
    writer.flush();
    writer.close();
} else {
    valResult = "validation_result=INVALID";
    BufferedWriter writer =  new BufferedWriter(new OutputStreamWriter(new FileOutputStream("ValidationResults.txt")));
    System.out.println("Writing in TEXT file: " + "type=" + key + ";value=" +  value + ";" +  valResult);
    writer.newLine();
    writer.write("\ntype=" + key + ";value=" +  value + ";" + valResult + "\n");
    writer.flush();
    writer.close();
}

【问题讨论】:

  • 在这个问题中添加语言和平台标签是个好主意。
  • 您需要以追加(更新)模式打开文件。
  • 您使用什么语言?目标操作系统或设备是什么?将此信息放在问题标签中以吸引更多专家。
  • 对不起,Abizem...我在 java 中工作,eclipse...

标签: java file


【解决方案1】:

使用 FileWriter。那应该可以解决你的问题。 True 参数表示下一行将附加到现有文件。如果你使用 false 而不是该文件将被覆盖。

new BufferedWriter(new FileWriter("file.txt", true));

【讨论】:

  • TYYYYYY 回忆 :) 现在工作得很好 :) 我试过那个选项,但没有使用“真实”部分 :)
  • 我希望我能投票赞成你的答案,但我仍然没有足够的声誉:)
猜你喜欢
  • 1970-01-01
  • 2021-07-05
  • 2018-09-05
  • 2021-03-23
  • 2014-03-12
  • 2014-11-02
  • 2022-01-15
  • 2017-07-22
  • 1970-01-01
相关资源
最近更新 更多