java.io.NotSerializableException
阿新 • • 發佈:2019-01-25
我想以儲存物件的方法,採取物件序列化方式將user類資料寫入檔案中,然後採用物件反序列化方式把產品資料從檔案中讀取出來。
//儲存User物件u的資訊到檔案 //輸入資訊 public static void saveObj(User us) { try { FileOutputStream fo = new FileOutputStream("D:\\javaio\\data.dat"); ObjectOutputStream so = new ObjectOutputStream(fo); so.writeObject(us); so.close(); } catch(Exception e) { System.err.println(e) ; } } //輸出資訊 public static void readObj(User us) { try { FileInputStream fi = new FileInputStream("D:\\javaio\\data.dat"); ObjectInputStream si = new ObjectInputStream(fi); us = (User)si.readObject(); si.close(); System.out.println("身份證: " + us.idnum); System.out.println("姓名: " + us.name); System.out.println("聯絡電話: " + us.tel); System.out.println("卡號: " + us.cardnum); System.out.println("密碼: " + us.passwd); } catch(Exception e) { System.err.println(e); } }
執行的時候卻報了錯。
解決方法是:在想要儲存的物件所屬的類後面加上一句“implements Serializable”
import java.io.Serializable;
public class User implements Serializable{
}