Java中對象的序列化詳解及實例
Java中對象的序列化詳解及實例
把java對象轉(zhuǎn)化為字節(jié)序列的過程稱為對象的序列化。
把字節(jié)序列恢復(fù)為java對象的過程稱為對象的反序列化。
對象序列化的用途:
1.把對象的字節(jié)序列永久的保存到硬盤上,通常存放在一個文件中
2.在網(wǎng)絡(luò)上傳送對象的字節(jié)序列化
void writeObject(Object obj) 方法可對參數(shù)指定的obj對象進行序列化,把得到的字節(jié)序列寫到一個目標輸出流中(將指定的對象寫入 ObjectOutputStream。)
void readObject()方法 從一個源輸入流中讀取字節(jié)序列,再把它們反序列化為一個對象,并將其返回( 從 ObjectInputStream 讀取對象。)
只有實現(xiàn)了Serializable和Externalizable接口的類對象才能被序列化。
Externalizable接口繼承自Serializable接口,實現(xiàn)Externalizable接口的類完全由自身來控制序列化的行為,而實現(xiàn)Serializable接口類可以采用默認的序列化方式
public static void readObj()throws Exception { ObjectInputStream ois = new ObjectInputStream(new FileInputStream("obj.txt")); Person p = (Person)ois.readObject(); System.out.println(p); ois.close(); }
public static void writeObj()throws IOException { ObjectOutputStream oos = new ObjectOutputStream(new FileOutputStream("obj.txt")); oos.writeObject(new Person("lisi0",399,"kr")); oos.close(); }
感謝閱讀,希望能幫助到大家,謝謝大家對本站的支持!
相關(guān)文章
Spring?Boot?Actuator?漏洞利用小結(jié)
spring對應(yīng)兩個版本,分別是Spring Boot 2.x和Spring Boot 1.x,因此后面漏洞利用的payload也會有所不同,這篇文章主要介紹了Spring?Boot?Actuator?漏洞利用小結(jié),需要的朋友可以參考下2023-11-11詳解Java中NullPointerException的處理方法
這篇文章將帶大家來單獨看一個很常見的異常--空指針異常,這個可以說是每個Java程序員都必知的異常,所以我們不得不單獨學(xué)習(xí)一下,文中有詳細的代碼示例,需要的朋友可以參考下2023-08-08java實現(xiàn)excel導(dǎo)入數(shù)據(jù)的工具類
這篇文章主要介紹了java實現(xiàn)的excel導(dǎo)入數(shù)據(jù)的工具類,需要的朋友可以參考下2014-03-03設(shè)計模式系列之組合模式及其在JDK和MyBatis源碼中的運用詳解
這篇文章主要介紹了組合模式及其在JDK和MyBatis源碼中的運用,本文給大家介紹的非常詳細,對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下2020-09-09