我正在尝试将矩阵写入文本文件。 为了做到这一点,我想知道如何将数组写入文本文件中的一行。
我举一个例子:
int [] array = {1 2 3 4};
我希望在文本文件中使用以下格式的数组:
1 2 3 4
而不是格式:
1
2
3
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 );
}
}