将巨大的数组列表(200000个条目)写入文本文件java

时间:2015-05-14 13:43:02

标签: java list file arraylist

我需要将200个条目的arrayList的所有条目写入文本文件。我坚持它但我想要一个可编辑的简单文本文件而不是对象转储。我使用了多种方法但由于某种原因它只写了大约1/4的列表。我使用过FileWriter,PrintStream,FileUtils。一切都在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

1 个答案:

答案 0 :(得分:0)

尝试:

List<String> lines = // ...
Files.write(Paths.get("output.txt"), lines, StandardCharsets.UTF_8);