2013-03-20 47 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 
} 

如果您在空白格式化工作中遇到問題,我相信它會被無數次地完成,您可以在網上找到它。