序列化和反序列化(示例)
生活随笔
收集整理的這篇文章主要介紹了
序列化和反序列化(示例)
小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
簡單來說就是需要將對(duì)象持久化到存儲(chǔ)設(shè)備中保存對(duì)象狀態(tài)以便后續(xù)對(duì)它進(jìn)行檢索。
要仔細(xì)看就去搜索序列化和反序列化
import java.nio.file.Files; import java.nio.file.Path; import java.nio.file.Paths; import java.nio.file.StandardOpenOption; import java.io.IOException; import java.io.ObjectInputStream; import java.io.ObjectOutputStream;import java.io.Serializable;class objectCustomer implements Serializable{//該類必須實(shí)現(xiàn)Serializable接口,否則不能進(jìn)行序列 //化和反序列化,另外該接口沒有方法只是用來標(biāo)志用的private static final long serialVersionUID = 1L;//這是必須要聲名的,它的作用就像當(dāng)文件被 //序列化后必須用相同的UID值進(jìn)行反序列化,否則會(huì)出錯(cuò)int a=0;String b ="";public objectCustomer(int a,String b) {this.a=a;this.b=b;} }public class Easy {public static void main(String[] args) throws ClassNotFoundException {Path path1 = Paths.get("D:\\music\\emq\\emm.txt");//使用get方法創(chuàng)建Path的快捷方式//序列化objectCustomer Object = new objectCustomer(1,"Hello");try(java.io.OutputStream outputstream = Files.newOutputStream(path1, StandardOpenOption.CREATE);//配置輸入流 設(shè)置文件路徑 打開方式ObjectOutputStream oos =newObjectOutputStream(outputstream)//文件序列化存放的文本){ oos.writeObject(Object);//存儲(chǔ)對(duì)象oos.writeObject("bingo");oos.writeObject("3go");}catch(IOException e){e.printStackTrace();}//反序列化try(java.io.InputStream inputstream = Files.newInputStream(path1,StandardOpenOption.READ );//配置輸出流 文件路徑 打開方式ObjectInputStream ois = newObjectInputStream(inputstream)//將序列化的文件反序列化){objectCustomer object2 = (objectCustomer) ois.readObject();//將反序列化對(duì)象的 //屬性(字段)賦給新的對(duì)象System.out.println(object2.a);//打印新的對(duì)象的字段aSystem.out.println(object2.b);String str = (String) ois.readObject();//獲取關(guān)于String對(duì)象的對(duì)象String str2 = (String) ois.readObject();//獲取第二個(gè)String的對(duì)象System.out.println(str);//bingoSystem.out.println(str2);//3go 這表示獲取相同對(duì)象的順序依然是先進(jìn)先出}catch(IOException e) {e.printStackTrace();} } }總結(jié)
以上是生活随笔為你收集整理的序列化和反序列化(示例)的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 保研面试注意事项
- 下一篇: 处理 “回扣”的4种对策