2014-01-18 22 views
1

我有问题写对象数组到JAVA..this对象数组文件包含整数值..写作对象数组到文件

Collections.shuffle(list); 
r = (Object[])list.toArray(); 

我试着写这个对象数组“R”到文件这样的..

fos = new FileOutputStream(myExternalFile,true); 
oos = new ObjectOutputStream(fos); 
oos.writeObject(r); 
oos.close(); 

一切都很好..但奇怪的字符出现在文件..如何让它写入整数值? 在此先感谢...

+2

Java,C#,祈祷告诉什么是语言 –

+0

对不起...其Java ... – user2784307

+0

@ user2784307:请将语言作为标记添加到您的问题。 –

回答

0

如果你想写整数我想作为文本而不是二进制数据,你需要首先使用toString操作将整数转换为文本,然后将结果字符串写入文件。

+0

所以我应该逐一从对象数组中读取,并尝试将其写入像..dos.write(Integer.toString(i).getBytes(“UTF-8”));. 。别无退路? – user2784307

+0

也许你不必一个一个去做。有时候你可以推广。例如,您可以为将整数转换为文本的类创建toString函数。 – zehelvion

+0

k ...谢谢.. – user2784307

0

循环如何?这也让你更好地控制格式。

+0

你的意思是读取数组中的每个整数并写入它...猜猜这是onlu选项现在..我会更好地做到这一点.. – user2784307

+0

是的。你使用的writeObject是将对象存储在一个文件中,如果你想稍后将它们加载到你的程序中,但是这会以紧凑的方式写入所有内容,而不是以可读的形式写入。 – Bernhard

+0

k ..感谢很多.. – user2784307