用Java编写长字符串到文件

时间:2011-10-23 00:40:36

标签: java io

我正在尝试将大整数数组(10 000个元素)转储到文本文件中,但遇到了一些问题。我尝试了两种不同的方法,似乎都没有工作。以下是我写的函数:

private static void writeToFile(String name, int[] a){
    try {
        FileWriter fw = new FileWriter(name);
        BufferedWriter bw = new BufferedWriter(fw);
        bw.write("working");
        for (int n: a){
            bw.write(n + " ");
        }
        bw.close();
    } catch (IOException e) {
        System.err.print("Unable to write to file " + name+ ".");
        e.printStackTrace();
    }
}

我尝试的第一件事是在for循环中创建一个字符串,然后将整个字符串写入文件。这两种方法都不起作用,并给出了与以下相同的结果:

  1. 文件已创建但保留为空白
  2. 适用于较短的数组(~10个元素)
  3. 如果空格是一个字母,则工作正常,例如:bw.write(n +“a”)
  4. 知道我做错了什么吗?还是有一种我没有看到的更简单的方法?

    谢谢,
    Civatrix

2 个答案:

答案 0 :(得分:1)

您能否解释一下您之后如何查看/阅读文件?就我所见,你的代码基本上是正常的(将close()移动到finally块),无论是添加空格还是其他字母,它都应该没有任何区别。但可能会产生影响,例如:对于文本编辑器,我想......?

答案 1 :(得分:0)

该代码会将a[]的所有元素写入文件后跟一个空格,除非它得到异常。但是它不会写任何行。这是你的问题吗?如果是这样,则每bw.newLine()后需要write()