我試圖將對象保存到下面的類中的文件,但它給我java.io.NotSerializableException。Java按日期保存對象
import java.io.FileOutputStream;
import java.io.ObjectOutputStream;
import java.util.ArrayList;
import java.util.Calendar;
class Saver {
Calendar cal = Calendar.getInstance();
public void save(ArrayList<Product> products) {
for (int i = 0; i < products.size(); i++) {
try {
FileOutputStream saveFile = new FileOutputStream(
"/" + products.get(i) + ".product"
);
ObjectOutputStream oos = new ObjectOutputStream(saveFile);
oos.writeObject(products.get(i));
} catch(Exception ex) {
System.out.println(ex);
}
}
}
}
儘管類產品看起來是這樣的:
class Product {
private String title;
private int id;
private double price;
public Product(String title, int id, double price) {
this.title = title;
this.id = id;
this.price = price;
}
public String getTitle() {
return title;
}
public int getId() {
return id;
}
public double getPrice() {
return price;
}
public void setTitle(String title) {
this.title = title;
}
public void setId(int id) {
this.id = id;
}
public void setPrice(double price) {
this.price = price;
}
}
什麼我做錯了,我怎麼能在對象存儲在一個文件呢? 在此先感謝!
代碼看起來不同(因此標題與日期),但我認爲這導致了問題,所以我把它留下。我正在用getTitle()方法保存文件,並希望使用日期作爲名稱的目錄中的文件。感謝您的快速回答,它的工作原理!我怎樣才能添加日期只爲一個目錄,如: \ 12252012 \ product1.product – Selim
@Selim:這就是爲什麼重要的是要花時間寫一個問題...確保它是一致的,而且你只包括代碼和文本你需要。現在,聽起來你的第二個問題實際上是將日期格式化爲字符串......查看「SimpleDateFormat」。 –
再次感謝!這是我的第一個問題,期待那些會變得更好:-) – Selim