我正在嘗試將矩陣寫入文本文件。 爲了做到這一點,我想知道如何將數組寫入文本文件中的一行。Java:將數組寫入文本文件
我將舉一個例子:
INT []數組= {1 2 3 4};
我想有此數組中的文本文件格式:
1 2 3 4
格式
,而不是:
1
2
3
4
你能幫助我嗎?
非常感謝
我正在嘗試將矩陣寫入文本文件。 爲了做到這一點,我想知道如何將數組寫入文本文件中的一行。Java:將數組寫入文本文件
我將舉一個例子:
INT []數組= {1 2 3 4};
我想有此數組中的文本文件格式:
1 2 3 4
格式
,而不是:
1
2
3
4
你能幫助我嗎?
非常感謝
這是一個天真的做法
//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());
你忘了空格。 – 2009-11-22 22:57:31
現在你有一個尾隨空間。 – 2009-11-22 23:02:48
是的。我用我的「僞碼」評論屏蔽了這一點。但好的,我將在 – Tom 2009-11-22 23:04:05
然後不要在每個項目後寫一個新行,而是一個空格。即請勿使用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(" ");
}
}
這會在行尾留下尾部空格。這可能適合提交者,或者它可能不適合。我不知道。 – 2009-11-22 23:12:07
我也不知道,但這只是一個微不足道的變化。我已經添加了它。 – BalusC 2009-11-23 00:48:21
「僞」
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);
}
}
lenght ???這甚至編譯? – 2011-05-09 03:22:45
來吧,它的僞代碼 – Ismael 2011-05-31 20:21:43
好吧,我知道湯姆已經提供了一個公認的答案 - 但這是這樣做的另一種方式(我認爲它看起來更好,但是這也許只是我):
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());
告訴我們你得到了什麼! – Tom 2009-11-22 23:00:00