2013-03-20 35 views
0

我有一个2D数组,我想将其导出到文本文件中。我有一个格式问题。例如,我期望有以下格式:将2-D数组格式化为文本文件

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

您需要一次打印一个数组元素。 – Smit 2013-03-20 23:44:08

+0

\ n用于创建新行 – CodeAddict 2013-03-20 23:51:10

回答

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 
} 

如果您在空白格式化工作中遇到问题,我相信它会被无数次地完成,您可以在网上找到它。