本次的討論不涉及資料庫
將序列化物件寫入檔案:
1、開啟檔案
fileoutputstream filestream=new fileoutputstream(「mygame.ser」);
//檔案不存在會自動建立
2、鏈結到開啟的檔案
objectoutputstream os=new objectoutputstream(filestream);
3、寫入物件
os.writeobject(character one);
os.writeobject(character two);
os.writeobject(character there);
4、關閉鏈結
os.close()
注意點:
序列化程式會將序列化物件版圖上的所有的東西都儲存下來
序列化意味著全有或全無(若物件中的某引用物件不能序列化,其不能序列化)
類介面serializable,表示類是可以序列化的,它的子類也是自動地可以序列化
類可以序列化意味著其main()由序列化過程可將類物件序列化
如果存在某些資料只在執行期間求出而不必儲存,可使用transient關鍵字
解序列化:
1、開啟檔案
fileinputstream filestream=new fileinputstream(「mygame.ser」)
//注意magame.ser不存在會丟擲異常
2、鏈結到檔案
objectinputstream os=new objectinputstream(filestream)
3、讀取物件
object one=os.readobject();
object two=os.readobject();
object three=os.readobject();
4、轉換物件型別
gamecharacter elf=(gamecharacter) one;
gamecharacter troll=(gamecharacter) two;
gamecharacter magician=(gamecharacter) there;
5、關閉鏈結
os.close();
**讀取文字檔案**
public
class read_file
reader.close();
}catch(exception ex)
}}
或者
public
class cin_txt
**讀出txt檔案**
try }
w.close();
}catch(ioexception ex)
檔案與序列化
carchive類 它沒有基類,它允許你儲存乙個複雜的物件網路在乙個永久的二進位制形式上,通常是硬碟,在這個物件被刪除之後保持永續性,以後可以從持久的儲存器上載入這個物件,在記憶體中重新構建它們,使物件永續性的過程叫序列化 序列化過程 將物件 資料寫到磁碟,物件刪除後,資料儲存在磁碟,當下次再呼叫資...
序列化與發序列化
1.序列化與反序列化都用的是相同的 binaryformatter bf new binaryformatter 2.使用 流 的方式 filestream fs new filestream 序列化內容路徑 一般為本地bin debug檔案中 類名.bin filemode.openorcreat...
序列化與反序列化
把複雜的資料型別壓縮到乙個字串中 serialize 把變數和它們的值編碼成文字形式 unserialize 恢復原先變數 eg stooges array moe larry curly new serialize stooges print r new echo print r unserial...