从Android端来看,存储管理有点奇怪。这里有一个更好的选择。将文件序列化为
getFilesDir()
从那里得到它。这样,您就可以很容易地序列化和反序列化。
检查文件是否存在于
获取文件目录()
以下内容:
boolean doesMyFileExists(Activity activity, File fileName) {
File[] files = activity.getFilesDir().listFiles();
for(File i: files) {
if(i.getName().equals(fileName)) {
return true;
}
}
return false;
}
要序列化对象(myObject):
void serializeObject(Activity activity, MyObject myObject, String fileName){
try {
FileOutputStream fos = activity.openFileOutput(fileName, Context.MODE_PRIVATE);
ObjectOutputStream oos = new ObjectOutputStream(fos);
oos.writeObject(myObject);
oos.close();
fos.close();
}
catch(Exception e) {
//Catch all possible exceptions here
}
}
要反序列化对象(myObject):
MyObject deserializeObject(Activity activity, String fileName){
try {
return ((MyObject) (new ObjectInputStream(activity.openFileInput(fileName)).readObject()););
}
catch(Exception e) {
//Catch all possible exceptions here
}
}
注意:包含这些方法的类必须实现
Serializable
接口。
希望这有帮助,快乐编码!