Я собираюсь записать несколько объектов в файл, а затем восстановить их в другой части моего кода. У моего кода нет ошибок, но он работает неправильно. Не могли бы вы помочь мне найти, что не так в моем коде. Я читал разные коды с другого сайта, но никто из них не работал у меня!
Вот мой код для записи моих объектов в файл: MyClassList - это arraylist, который включает объекты моего класса (которые должны быть записаны в файл).
for (int cnt = 0; cnt < MyClassList.size(); cnt++) {
FileOutputStream fout = new FileOutputStream("G:\\address.ser", true);
ObjectOutputStream oos = new ObjectOutputStream(fout);
oos.writeObject(MyClassList.get(cnt));
}
Я добавил "true" к конструктору выходного потока, потому что я хочу добавить каждый объект в конец файла. Это правильно?
И вот мой код для чтения объектов из файла:
try {
streamIn = new FileInputStream("G:\\address.ser");
ObjectInputStream objectinputstream = new ObjectInputStream(streamIn);
MyClass readCase = (MyClass) objectinputstream.readObject();
recordList.add(readCase);
System.out.println(recordList.get(i));
} catch (Exception e) {
e.printStackTrace();
}
Наконец, он печатает только один объект. Теперь я не знаю, правильно ли я пишу или правильно читаю!