java - 写入已存在的文件 - 但我有一个问题

标签 java 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();
}

最佳答案

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

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

关于java - 写入已存在的文件 - 但我有一个问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17467973/

相关文章:

Java正则表达式替换一个接一个的单词

Java 和 Mathematica 交互

windows - 在 Windows 中仅命名带扩展名的文件

java - 从 Java 应用程序打开 WMV 文件时访问被拒绝

c++ - 根据文件中的指令编写一个字符数组

Python,在大型 .log 文件中搜索关键字代码

java - 使用正则表达式 : Does adding the optional flag in a regex expression change how greedy or posessive modifiers are matched? 解析 SQL 语句

java - 这段 Java 代码是如何工作的?从未排序的链表中删除重复项

java - 陷入错误 : unreachable statement and no return statement provided 的循环

c# - 安装到 GAC 的 DLL 的路径