FileWriter不会写入长度为78510的字符串

时间:2015-11-17 14:44:43

标签: java android gson filewriter bufferedwriter

我有一个问题,我有一个MyObject列表,我想在json的文件中写这个。

所以我用gson解析我的列表到json并且我在文件中写了字符串,但没有写任何文件是创建但是是空的(0八位字节)。

如果我的Farm ID DAYS A 1 -3 A 1 -2 A 1 -1 A 1 0 C 3 -10 C 3 -8 C 3 0 C 3 2 有60项并且我将其解析为json,则该字符串的长度为14482,并且Filewriter工作正常。

如果我的List<MyObject>有60多项,我将其解析为json,Filewriter什么也不做,文件为空。 例如,如果我的列表有300项,则长度为78909

以下是我在文件中编写列表的代码:

List<MyObject>

2 个答案:

答案 0 :(得分:1)

尝试添加

out.flush();
在写入和关闭文件之间

以确保完全完成。

这是因为你使用BufferedWriter和一个大小为32768的内部缓冲区

答案 1 :(得分:0)

尝试使用PrintWriter / PrintStream写入文件。就像这样:

PrintWriter printWriter=new PrintWriter(writer); 
printWriter.println(jsonStringTrace );
printWriter.close();