我已经制作了一个算法,按字母顺序将名称的文本文件排序成一个数组,因为它的位置,排序的数组大约是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;周围的文件。 我想也许有一个溢出或输出到文件的东西,但即使为每个循环添加延迟仍然产生相同的结果。
答案 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();
}
}