Для моего проекта студии Android мне нужно сериализовать объект User. Идея состоит в том, чтобы сохранить и загрузить этот объект, поэтому, когда приложение закрывается (уничтожается), объекты и его атрибуты сохраняются и сохраняются в файле. Моя проблема в том, что я получаю ошибку при загрузке объекта. Он говорит, что нет такого файла или каталога с именем «save.bin», хотя я пытался его создать. Вот мой код:Java Serialization Object
public class SaveAndLoadManager{
public void save(Object object){
Log.d("Save", "saving object");
try{
File userInfo = new File("save.bin");
FileOutputStream fileOutputStream = new FileOutputStream(userInfo);
ObjectOutputStream objectOutputStream = new ObjectOutputStream(fileOutputStream);
objectOutputStream.writeObject(object);
objectOutputStream.close();
Log.d("Save", "object saved");
}catch(FileNotFoundException e){
Log.e("Save", e.getMessage());
}catch(IOException e){
Log.e("Save", e.getMessage());
}
}
public Object load(){
Log.d("Load", "loading object");
Object object = null;
try{
FileInputStream fileInputStream = new FileInputStream("save.bin");
ObjectInputStream objectInputStream = new ObjectInputStream(fileInputStream);
object = objectInputStream.readObject();
objectInputStream.close();
Log.d("Load", "object loaded");
}catch(FileNotFoundException e){
Log.e("Load", e.getMessage());
}catch(StreamCorruptedException e){
Log.e("Load", e.getMessage());
}catch(Exception e){
Log.e("Load", e.getMessage());
}
return object;
}
}
Как правильно создать каталог?
Обратите внимание, что сериализация, как правило, плохой способ для хранения данных в течение какого-то времени, так как трудно отлаживать и подвергать проблемы, если вы меняете свои классы. Использование чего-то вроде JSON обычно предпочтительнее. – chrylis