Bạn không thể nối thêm ObjectOutputStream
?Phụ thêm vào ObjectOutputStream
Tôi đang cố gắng thêm vào danh sách đối tượng. Đoạn mã sau là hàm được gọi bất cứ khi nào công việc được hoàn thành.
FileOutputStream fos = new FileOutputStream
(preferences.getAppDataLocation() + "history" , true);
ObjectOutputStream out = new ObjectOutputStream(fos);
out.writeObject(new Stuff(stuff));
out.close();
Nhưng khi tôi cố đọc nó, tôi chỉ nhận được tệp đầu tiên trong tệp. Sau đó, tôi nhận được java.io.StreamCorruptedException
.
Để đọc Tôi đang sử dụng
FileInputStream fis = new FileInputStream
(preferences.getAppDataLocation() + "history");
ObjectInputStream in = new ObjectInputStream(fis);
try{
while(true)
history.add((Stuff) in.readObject());
}catch(Exception e) {
System.out.println(e.toString());
}
Tôi không biết có bao nhiêu đối tượng sẽ có mặt vì vậy tôi đang đọc khi không có trường hợp ngoại lệ. Từ những gì Google nói điều này là không thể. Tôi đã tự hỏi nếu có ai biết một cách?
Bạn có nhận được bất kỳ thứ gì từ luồng hay không ngoại trừ lần đầu tiên trong vòng lặp? – skaffman
nó đọc đối tượng đầu tiên tôi lưu sau đó tôi nhận được ngoại lệ. –
Trong đoạn mã trên, tôi chỉ thấy một đối tượng được ghi vào tệp, vì vậy chỉ có một đối tượng được đọc, đúng không? – aperkins