1. 程式人生 > >java.io.NotSerializableException

java.io.NotSerializableException

我想以儲存物件的方法,採取物件序列化方式將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{

}