我一直在使用这段代码:
public void saveCredits(int myInt) {
try {
OutputStream fos = openFileOutput("test.txt", Context.MODE_PRIVATE);
DataOutputStream dis = new DataOutputStream(fos);
dis.writeInt(myInt);
fos.flush();
fos.close();
}
catch (IOException e) {
System.out.println(e);
}
}
如何以最简单的方式修改它以编写自定义对象数组,例如house(String name,int cost,Address address)
答案 0 :(得分:1)
DataOutputStream最简单的方法是:
像这样:
DataOutputStream out = ... ;
out.writeInt(items.length);
for (Item item : items) {
out.writeUTF(item.someString());
out.writeFloat(item.someFloat());
}
加载这样的数组也很容易:
DataInputStream in = ... ;
int length = in.readInt();
Item[] items = new Item[length];
for (int i = 0; i < length; ++i) {
items.add(new Item(in.readUTF(), in.readFloat()));
}
答案 1 :(得分:0)
使用 ObjectOutPutStream 和方法 writeObject() ..您需要序列化和反序列化您的对象.. more here < / p>