【发布时间】:2012-07-05 10:42:05
【问题描述】:
我在弄清楚如何将字符串拆分为多个文件时遇到问题。目前我应该得到两个包含 JSON 数据的文件。下面的代码写入第一个文件,但第二个为空。任何想法为什么?
public void splitFile(List<String> results) throws IOException {
int name = 0;
for (int i=0; i<results.size(); i ++) {
write = new FileWriter("/home/tom/files/"+ name +".json");
out = new BufferedWriter(write);
out.write(results.get(i));
if (results.get(i).startsWith("}")) {
name++;
}
}
}
编辑:它在以{ 开头的行拆分,因为那表示 JSON 文档的结尾。
【问题讨论】:
-
你在哪里用
close()关闭文件?如果您一次编写所有内容,则不需要 BufferedWriter。将write设为循环内的局部变量。 -
代码被破坏,因为它试图在迭代中重新打开同一个文件。另外,完成后关闭流。将
write移出循环并在if语句中关闭当前文件并打开下一个文件。