我有这样的事情:
private void myPrinter(int[] arr) throws IOException{
FileWriter outFile = new FileWriter("myFile.txt",true);
PrintWriter out = new PrintWriter(outFile);
//BufferedWriter out = new BufferedWriter(outFile);
//PrintStream out=new PrintStream(outFile);
for (int i=0;i<arr.length;i++){
System.out.print(arr[i]+" ");
out.print(arr[i]+" ");
}
System.out.println();
// out.newLine();
out.println();
//out.flush();
out.close();
}
当它打印一个包含 100 个元素的数组时就很好了。当打印一个包含超过 255 个元素的数组时,它会产生类似 ‱‰‱‱‱‱‰‰‱‱‰‱当我
out.print(" "+arr[i]+" ");
在它前面添加 ie 空格时arr[i]
。但是,我不需要前面的额外空间,我不明白为什么需要它。在围绕二维数组迭代的 for 循环中调用此方法。控制台打印得很好,但在 txt 文件中打印如上所示。调用方法的代码如下:
final int[] anArr=init();
for (int idz=0;idz< z;idz++ ){
int[] toBe=new int[anArr.length];
System.arraycopy( anArr, 0, toBe, 0, anArr.length );
arr[z]=create(toBe);
try {
myPrinter(arr[z]);
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
我尝试在打印任何内容之前添加一行并且它可以工作。但是,当我后来手动从 txt 文件中删除该行并保存时,它又变成了乱码。我的 txt 配置有什么问题吗?