序列化和反序列化(示例)
生活随笔
收集整理的這篇文章主要介紹了
序列化和反序列化(示例)
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
簡單來說就是需要將對象持久化到存儲設備中保存對象狀態以便后續對它進行檢索。
要仔細看就去搜索序列化和反序列化
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{//該類必須實現Serializable接口,否則不能進行序列 //化和反序列化,另外該接口沒有方法只是用來標志用的private static final long serialVersionUID = 1L;//這是必須要聲名的,它的作用就像當文件被 //序列化后必須用相同的UID值進行反序列化,否則會出錯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方法創建Path的快捷方式//序列化objectCustomer Object = new objectCustomer(1,"Hello");try(java.io.OutputStream outputstream = Files.newOutputStream(path1, StandardOpenOption.CREATE);//配置輸入流 設置文件路徑 打開方式ObjectOutputStream oos =newObjectOutputStream(outputstream)//文件序列化存放的文本){ oos.writeObject(Object);//存儲對象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();//將反序列化對象的 //屬性(字段)賦給新的對象System.out.println(object2.a);//打印新的對象的字段aSystem.out.println(object2.b);String str = (String) ois.readObject();//獲取關于String對象的對象String str2 = (String) ois.readObject();//獲取第二個String的對象System.out.println(str);//bingoSystem.out.println(str2);//3go 這表示獲取相同對象的順序依然是先進先出}catch(IOException e) {e.printStackTrace();} } }總結
以上是生活随笔為你收集整理的序列化和反序列化(示例)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 保研面试注意事项
- 下一篇: 处理 “回扣”的4种对策