j**a 提供了一種物件序列化的機制。用乙個位元組序列可以表示乙個物件,該位元組序列包含該物件的資料
、物件的型別
和物件中儲存的屬性
等資訊。位元組序列寫出到檔案之後,相當於檔案中持久儲存了乙個物件的資訊。
反之,該位元組序列還可以從檔案中讀取回來,重構物件,對它進行反序列化。物件的資料
、物件的型別
和物件中儲存的資料
資訊,都可以用來在記憶體中建立物件。
乙個物件要想序列化,必須滿足兩個條件:
static修飾的屬性無法進行序列化
public class objectinputstream extends inputstream implements objectinput, objectstreamconstants
:繼承了inputstream類。
常用方法public class objectoutputstream extends outputstream implements objectoutput, objectstreamconstants
:繼承了outputstream類。
常用方法定義:
j**a.io.printstream
,一般使用它在控制台進行輸出,但是它也可以輸出到我們制定的路徑中。
構造方法
常用方法
物件序列化流
物件序列化流 objectoutputstream 構造方法 方法名說明 objectoutputstream outputstream out 建立乙個寫入指定的outputstream的objectoutputstream 序列化物件的方法 方法名說明 void writeobject obje...
物件序列化流
用物件序列化流序列化了乙個物件後,假如我們修改了物件所屬的類檔案,讀取資料會不會出問題呢?答 會出問題,丟擲invalidclas ception異常 如果出問題了,如何解決呢?答 給物件所屬類加乙個serialversionuid private static final long serialv...
物件流序列化
今天看書學了個貌似很牛逼的東西,可以用objectoutputstream把物件寫入檔案,可以用objectinputstream從檔案讀取物件。作為菜鳥,我淺顯的認為,這是個非常有用的功能。比如,開啟乙個應用程式,它有視窗,必然是個物件,視窗的位置,大小,還有內部控制項的擺放位置,肯定是在物件中由...