将二维数组格式化为文本文件



我有一个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
}

如果你对空格格式设置有困难,我相信这已经做过无数次了,你可以在网上找到。

相关内容

  • 没有找到相关文章