编写/保存自定义对象android java的数组

时间:2012-03-29 11:34:09

标签: java android serialization

我一直在使用这段代码:

                 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)

2 个答案:

答案 0 :(得分:1)

DataOutputStream最简单的方法是:

  1. 存储数组大小
  2. 然后是项目本身
  3. 像这样:

    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>

相关问题