我有一个2D数组,我想将它导出到一个文本文件中。我有格式化问题。例如,我希望有这种格式:
11 22 33 44
22 33 44 33
但是这段代码产生了这种格式:[[11 22 33 44] [22 33 44 33]]。我更喜欢\ tab作为连续两个数字之间的距离。提前谢谢。
PrintWriter pr = new PrintWriter("file");
for (int i=0; i<X.length ; i++){
pr.println(Arrays.deepToString(X));
}
pr.close();
答案 0 :(得分:0)
我建议使用一段填充空格的代码以便正确格式化,让我们调用方法printWithFormat(String s)。使用deepToString是非常不方便的,如果你看一下规范,它会为你提供一个完整的数组表示,以及它如何将它打印到文件中。我现在假设X是一个二维数组。
如果没有空格格式,代码可能看起来像这样,请注意,虽然这会给你一个
11 22 33 44
33 44 55 55
不同长度的数字会出错,例如
11 222 33 4
3 44 55 5
因此需要根据需要填充空格
无论如何非空白代码:
for (int i=0; i<X.length ; i++){
for(int j=0; j<X[0].length; j++){
pr.print(X[i,j]);
if(j<X[0]-1) pr.print(" "); //separate the numbers by spaces, no need to put a space at teh end
}
pr.println(""); //go to the next line
}
如果您无法使用空格格式化工作,我相信它已经无数次完成,您将能够在线找到它。