5
我想編寫一個可序列化的對象到內存中的文件。然後,我想稍後從該文件中加載該對象。我怎麼能在Android中做到這一點?Android:寫入和獲取對象
我想編寫一個可序列化的對象到內存中的文件。然後,我想稍後從該文件中加載該對象。我怎麼能在Android中做到這一點?Android:寫入和獲取對象
首先你的對象必須實現Serializable
。不要忘記在可序列化類上添加一個serialVersionUID
。
然後,如果你不想對象標記它的特定字段保存爲transient
。 確保所有字段都是可序列化的。
接下來在內部存儲器中創建一個文件並創建一個ObjectOutputStream來保存您的對象。如果你想在一個特定的文件夾來保存你可以創建這樣的路徑:
File path=new File(getFilesDir(),"myobjects");
path.mkdir();
然後你就可以使用這條道路,以節省您的對象:
File filePath =new File(path, "filename");
FileOutputStream fos = new FileOutputStream(filePath);
ObjectOutputStream oos = new ObjectOutputStream(fos);
oos.writeObject(object);
oos.close();
閱讀是相似的:
FileInputStream fis = new FileInputStream(file);
ObjectInputStream in = new ObjectInputStream(fis);
MyObjectClass myObject = (MyObjectClass) in.readObject();
in.close();