繁体   English   中英

Java:将数组写入文本文件

[英]Java: write an array into a text file

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

我举一个例子:

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

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

1 2 3 4

而不是以下格式:

1
2
3
4

你能帮我吗?

非常感谢

然后,不要在每个项目后面写新行,而要写一个空格。 即不使用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(" ");
    }
}

这是一个幼稚的方法

//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());

好的,我知道汤姆已经提供了一个可接受的答案-但这是另一种方式(我认为它看起来更好,但这也许就是我):

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());

“伪代码”

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 );
       }
    }

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM