次のクラスをシリアル化しようとしています。
public class Library extends ArrayList<Book> implements Serializable{
public Library(){
check();
}
そのクラスの次のメソッドを使用します。
void save() throws IOException {
String path = System.getProperty("user.home");
File f = new File(path + "\\Documents\\CardCat\\library.ser");
ObjectOutputStream oos = new ObjectOutputStream (new FileOutputStream (f));
oos.writeObject(this);
oos.close();
}
ただし、library.ser
プログラムは というファイルを作成するのではなく、名前library.ser
のないディレクトリを作成しています。どうしてこれなの?
役立つ場合は、save() メソッドが最初にこのメソッド (同じクラスの) から呼び出されます。
void checkFile() {
String path = System.getProperty("user.home");
File f = new File(path + "\\Documents\\CardCat\\library.ser");
try {
if (f.exists()){
load(f);
}
else if (!f.exists()){
f.mkdirs();
save();
}
} catch (IOException | ClassNotFoundException ex) {
Logger.getLogger(Library.class.getName()).log(Level.SEVERE, null, ex);
}
}