字符串数组未能正确输出到文件(Java)

时间:2017-05-28 18:30:43

标签: java file io output

我已经制作了一个算法,按字母顺序将名称的文本文件排序成一个数组,因为它的位置,排序的数组大约是21&000; 000名称。它输出到控制台很好(由于控制台在一段时间后切断了,我使用了延迟输出),但是当我尝试输出到文件时,它停止了三分之二进入数组,围绕字母" T&#34 ;.

有什么建议吗?这是我的输出代码:

    BufferedWriter bw = new BufferedWriter(new FileWriter("E:\\output.txt"));

    for (int i = 0; i < names.length; i++){
        System.out.println(names[i]);
        bw.write(names[i]);
        bw.newLine();}

我也尝试从数组末尾开始输出

for (int i = names.length-1; i >= 0; i--){
        System.out.println(names[i]);
        bw.write(names[i]);
        bw.newLine();}

在这种情况下,数组会停止输出到字母&#34; B&#34;周围的文件。 我想也许有一个溢出或输出到文件的东西,但即使为每个循环添加延迟仍然产生相同的结果。

1 个答案:

答案 0 :(得分:0)

使用&#34;尝试使用资源&#34;保证你的作家将被关闭。 或者,如果您此刻不想关闭它,请拨打&#34; flush&#34;方法

try (BufferedWriter bw = new BufferedWriter(new FileWriter("E:\\output.txt"))) {

    for (int i = 0; i < names.length; i++){
        System.out.println(names[i]);
        bw.write(names[i]);
        bw.newLine();
    }
}