【发布时间】:2015-07-26 03:57:07
【问题描述】:
我需要将包含 200000 个条目的 arrayList 的所有条目写入文本文件。我已经坚持了它,但我想要一个可编辑的简单文本文件而不是对象转储。我使用了许多方法,但由于某种原因,它只写了大约 1/4 的列表。我使用过 FileWriter、PrintStream、FileUtils。一切都将其切断 t 大约 1/4。任何人都可以告诉我我的实施或理解是否有错误,因为它是一个巨大的列表,我没有得到任何例外,最后如果有人可以请给我任何解决方案!对于之前没有代码的询问方式,我深表歉意。以下是我到目前为止尝试过的代码:
List<String> readList;
Writer writer = new BufferedWriter(new OutputStreamWriter(new FileOutputStream("absolute/path/demoTest.txt"), "utf-8"));
for (String entry : readList) {
writer.write(entry);
writer.write("\n");
}
writer.close();
下一步:
FileWriter writer = new FileWriter("absolute/path/demoTest.txt");
for (String entry : readList) {
writer.write(entry);
writer.write("\n");
}
writer.close();
下一个:
PrintStream out = new PrintStream(new FileOutputStream("absolute/path/demoTest.txt"));
最后:
FileUtils.writeLines(new File("absolute/path/demoTest.txt"), readList);
所以就像我说的有 200000 个条目,但我只得到输出文本文件中总条目的 1/4。如果数组是这样的:
1
2
3
...
200000
输出文件显示如下内容:
1
2
3
...
50000
【问题讨论】:
-
"如果我的实现有错误"在哪里?
-
寻求调试帮助的问题(“为什么这段代码不起作用?”)必须包括所需的行为、特定的问题或错误以及在问题本身中重现它所需的最短代码。没有明确问题陈述的问题对其他读者没有用处。
-
确保关闭输出文件。
-
抱歉之前的提问方式。我包含了一些代码以及实际数组和输出数组的结构差异。感谢您抽出宝贵时间。
-
@PatriciaShanahan 是的,我确保每次都关闭它。谢谢