Для школьного Java мини-проекта я создаю какую-то банковскую систему. Я написал эту функцию в классе BankManager, чтобы сохранить новые учетные записи в файле:
public boolean save(Account a) throws Exception {
List<Account> exists = this.getAll();
if(exists.contains(a))
throw new Exception();
else {
this.oos.writeObject(a);
}
return true;
}
, где определены потоки ввода-вывода, как только я инициирую класс:
public void constructor() {
try {
this.fos = new FileOutputStream(this.filePath);
this.oos = new ObjectOutputStream(this.fos);
this.fis = new FileInputStream(this.filePath);
this.ois = new ObjectInputStream(this.fis);
}
catch (Exception e) {
e.printStackTrace();
}
}
Функция берет объект Account и записывает его в файл (один файл для всех объектов Account)
Теперь я хочу сделать так, чтобы я мог обновить учетную запись в этом файле, например, если учетная запись изменяется количество денег, которое я хочу, чтобы оно было обновлено в файле.
Я читал об ObjectOutputStream.replaceObject (), но не выяснил, как он может помочь мне заменить указанный c объект в файл многих объектов. Кроме того, каждый урок, который я видел, сохраняет объекты в текстовых файлах, есть ли причина для этого?