Witam, stworzyłem mały programik tworzący bazę danych i chciałem wykorzystać Serializację do przechowywania tych baz. Mam problem aby ten wczytany obiekt przypisać do obecnego, w programie głównym wywołuję metodę menu(), która jest całkiem spora i po wpisaniu 'Load' przez uzytkownika, musimy podać nazwę bazy danych z dysku. (którą wcześniej zapisałem, właśnie przy użyciu serializacji) . I problem polega na tym aby w metodzie menu z klasy Database zmienić ten obiekt db na ten wczytany i nie mam pojęcia jak to zrobić wewnątrz klasy Database, czy to jest możliwe? Jak to mogę zrobić?
main:
Database db = new Database();
db.menu();
Database:
case "LOAD":
try {
Scanner input2 = new Scanner(System.in);
name = input2.nextLine();
Database db = new Database(name);
db = db.loadDatabase(name);
} catch (IOException e) {
System.out.println("Try again or create NEW database\n");
}
break;
public Database loadDatabase(String name) throws IOException {
Database database = null;
FileInputStream file = new FileInputStream(name + ".db");
ObjectInputStream output = new ObjectInputStream(file);
try {
database = (Database) output.readObject();
} catch (ClassNotFoundException e) {
System.out.println("Error while loading database from file.");
}
return database;
}