Java:将数组写入文本文件

时间:2009-11-22 22:52:27

标签: java arrays file matrix

我正在尝试将矩阵写入文本文件。 为了做到这一点,我想知道如何将数组写入文本文件中的一行。

我举一个例子:

int [] array = {1 2 3 4};

我希望在文本文件中使用以下格式的数组:

1 2 3 4

而不是格式:

1
2
3
4

你能帮帮我吗?

非常感谢

4 个答案:

答案 0 :(得分:3)

然后不要在每个项目之后写一个新行,而是一个空格。即不要使用writeln()println(),而应使用write()print()

也许代码片段更有价值,所以这是一个基本的例子:

for (int i : array) {
    out.print(i + " ");
}

修改:如果您因某些原因不想使用尾随空格,这是另一种方法:

for (int i = 0; i < array.length;) {
    out.print(array[i]);
    if (++i < array.length) {
        out.print(" ");
    }
}

答案 1 :(得分:3)

这是一种天真的方法

//pseudocode
String line;
StringBuilder toFile = new StringBuilder();
int i=0;
for (;array.length>0 && i<array.length-2;i++){
   toFile.append("%d ",array[i]);
}

toFile.append("%d",array[i]);

fileOut.write(toFile.toString());

答案 2 :(得分:1)

好的,我知道汤姆已经提供了一个接受的答案 - 但这是另一种方式(我觉得它看起来更好,但那可能只是我):

int[] content     = new int[4] {1, 2, 3, 4};
StringBuilder toFile = new StringBuilder();

for(int chunk : content) {
    toFile.append(chunk).append(" ");
}

fileOut.write(toFile.toString().trim());

答案 3 :(得分:0)

“Pseudocode”

for( int i = 0 ; i < array.lenght ; i++ )
    {
       if( i + 1 != array.lenght )
       {
          // Not last element
          out.write( i + " " );
       }
       else
       {
          // Last element
          out.write( i );
       }
    }