关于json:在java中将String写入文本文件

Write String to text-file in java

本问题已经有最佳答案,请猛点这里访问。

想要将我从JSON解析的一些信息保存到纯文本中,我也希望每次运行程序时都不会覆盖这些信息。 它假设作为一个简单的错误记录系统工作。

到目前为止我试过这个:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
FileWriter fileWriter = null;
File file = new File("/home/anderssinho/bitbucket/dblp-article-analyzer/logg.txt");

// if file doesn't exists, then create it
if (!file.exists()) {
    file.createNewFile();
}

...

String content ="------------------------------------";
fileWriter = new FileWriter(file);
fileWriter.write(content);
//fileWriter.write(obj.getString("title"));
//fileWriter.write(obj.getString("creators"));
//fileWriter.write(article.GetElectronicEdition());

但是当我这样做时,似乎我一直覆盖信息,而且我也有问题要保存我想从JSON阵列中获取的信息。

我该怎么做才能做到这一点?


FileWriter fooWriter = new FileWriter(myFoo, false);

// true为追加
//覆盖false;
其中myFoo是文件名

看到这个链接


你能详细说明一下吗? 如果问题只是无法附加,那么你可以向FileWriter添加一个参数,说它要追加而不是从头开始写。

在这里检查构造函数:

1
public FileWriter(String fileName, boolean append) throws IOException

官方Java文档:

Constructs a FileWriter object given a file name with a boolean indicating whether or not to append the data written.

Parameters:
fileName - String The system-dependent filename.
append - boolean if true, then data will be written to the end of the file rather than the beginning.

Throws:
IOException - if the named file exists but is a directory rather than a regular file, does not exist but cannot be created, or cannot be opened for any other reason


使用追加:

1
PrintWriter out = new PrintWriter(new BufferedWriter(new FileWriter("logg.txt", true)));

看到这个:
如何将文本附加到Java中的现有文件中