您好,登錄后才能下訂單哦!
請(qǐng)求超時(shí)!
本篇文章給大家分享的是有關(guān)Java中如何實(shí)現(xiàn)序列化和反序列化,小編覺(jué)得挺實(shí)用的,因此分享給大家學(xué)習(xí),希望大家閱讀完這篇文章后可以有所收獲,話不多說(shuō),跟著小編一起來(lái)看看吧。
序列化:將對(duì)象轉(zhuǎn)換為二進(jìn)制序列在網(wǎng)絡(luò)中傳輸或保存到磁盤
反序列化:從網(wǎng)絡(luò)或磁盤中將二進(jìn)制序列轉(zhuǎn)換為對(duì)象
注意:
對(duì)象必須實(shí)現(xiàn)Serializable接口
對(duì)象的所有屬性都要能序列化(Integer,Byte等都進(jìn)行了序列化)
String
Integer
1.編寫大象類
public class Elephant implements Serializable { private String name; private String age; private String sex; public Elephant(String name, String age, String sex) { this.name = name; this.age = age; this.sex = sex; } @Override public String toString() { return "Elephant{" + "name='" + name + '\'' + ", age='" + age + '\'' + ", sex='" + sex + '\'' + '}'; } public String getName() { return name; } public void setName(String name) { this.name = name; } public String getAge() { return age; } public void setAge(String age) { this.age = age; } public String getSex() { return sex; } public void setSex(String sex) { this.sex = sex; } }
2.大象測(cè)試類
public class ElephantTest { public static final String PATH = "D:\\elephant"; static void write(Elephant elephant){ //創(chuàng)建對(duì)象輸出流 try( ObjectOutputStream out = new ObjectOutputStream(new FileOutputStream(PATH))) { //寫入對(duì)象 out.writeObject(elephant); } catch (IOException e) { e.printStackTrace(); } } static Object read(){ //創(chuàng)建對(duì)象輸出流 try( ObjectInputStream in = new ObjectInputStream(new FileInputStream(PATH))) { //寫入對(duì)象 return in.readObject(); } catch (Exception e) { e.printStackTrace(); } return null; } public static void main(String[] args) { Elephant elephant7 = new Elephant("小紅象", "18", "男"); write(elephant7); Elephant elephant1 = (Elephant) read(); System.out.println(elephant1); System.out.println(elephant7); System.out.println(elephant1==elephant7); } }
運(yùn)行結(jié)果:
寫入D盤的對(duì)象:
1. 簡(jiǎn)單,只需理解基本的概念,就可以編寫適合于各種情況的應(yīng)用程序;2. 面向?qū)ο螅?. 分布性,Java是面向網(wǎng)絡(luò)的語(yǔ)言;4. 魯棒性,java提供自動(dòng)垃圾收集來(lái)進(jìn)行內(nèi)存管理,防止程序員在管理內(nèi)存時(shí)容易產(chǎn)生的錯(cuò)誤。;5. 安全性,用于網(wǎng)絡(luò)、分布環(huán)境下的Java必須防止病毒的入侵。6. 體系結(jié)構(gòu)中立,只要安裝了Java運(yùn)行時(shí)系統(tǒng),就可在任意處理器上運(yùn)行。7. 可移植性,Java可以方便地移植到網(wǎng)絡(luò)上的不同機(jī)器。8.解釋執(zhí)行,Java解釋器直接對(duì)Java字節(jié)碼進(jìn)行解釋執(zhí)行。
以上就是Java中如何實(shí)現(xiàn)序列化和反序列化,小編相信有部分知識(shí)點(diǎn)可能是我們?nèi)粘9ぷ鲿?huì)見到或用到的。希望你能通過(guò)這篇文章學(xué)到更多知識(shí)。更多詳情敬請(qǐng)關(guān)注億速云行業(yè)資訊頻道。
免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。
億速云公眾號(hào)
手機(jī)網(wǎng)站二維碼
Copyright ? Yisu Cloud Ltd. All Rights Reserved. 2018 版權(quán)所有
廣州億速云計(jì)算有限公司粵ICP備17096448號(hào)-1 粵公網(wǎng)安備 44010402001142號(hào)增值電信業(yè)務(wù)經(jīng)營(yíng)許可證編號(hào):B1-20181529