Мне нужно хранить данные в объектах класса, а затем сохранять их в arraylist.
Затем я сериализую данные.
У меня есть эти функции:
- addBook( );
-Десериализовать список массивов
-Выполнить операции
-Сериализация списка массивов - deleteBook();
-Десериализация списка массивов
-выполнение операций
-Сериализация списка массивов - modifyBok();
-Десериализовать список массивов
-Выполнить операции
-Сериализовать список массивов - IssueBook();
-Десериализовать список массивов
-выполнить операции
-сериализовать список массивов - returnBook();
-десериализовать список массивов
-выполнить операции
-Сериализация списка массивов
public static ArrayList bookData = new ArrayList();
Мой код, который я использую сериализовать:
Код: Выделить всё
FileOutputStream fos = null;
ObjectOutputStream oos = null;
try {
fos = new FileOutputStream("Database.ser");
oos = new ObjectOutputStream(fos);
oos.flush();
oos.writeObject(bookData);
oos.close();
fos.close();
}catch(Exception e){
System.out.println("Exception Caught: "+e);
}
Код: Выделить всё
FileInputStream fis = null;
ObjectInputStream ois = null;
//ArrayList bookData = null;
try {
fis = new FileInputStream("Database.ser");
ois = new ObjectInputStream(fis);
bookData = (ArrayList) ois.readObject();
}catch(Exception e){
System.out.println("Exception Caught: "+e);
}
Я думаю, что моя сериализация не работает. и каждый раз, когда я создаю книгу, я сохраняю ее индекс (номер объекта) в текстовом файле.
Ни один из моих методов поиска не работает: обнаружено исключение ArrayIndexOutOfBounds. Я пытался сделать размер +1 для списка массивов
но это тоже не работает.
Код: Выделить всё
My code for searching. Before this the deserialization code is there.
try{
System.out.println("_________________Search Book_________________");
System.out.println("Enter Title of Book to Search: ");
String title = scan.readLine();
for(int i=0;i
Подробнее здесь: [url]https://stackoverflow.com/questions/52758279/java-arraylist-serialization-error-while-deserializing-and-searching-for-object[/url]