我有一个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();
我建议使用一段代码来填充空格,以便正确格式化它,让我们调用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
}
如果你对空格格式设置有困难,我相信这已经做过无数次了,你可以在网上找到。