這篇文章將為大家詳細講解有關深入淺析Java中的序列化與反序列化,文章內容質量較高,因此小編分享給大家做個參考,希望大家閱讀完這篇文章后對相關知識有一定的了解。
站在用戶的角度思考問題,與客戶深入溝通,找到江都網(wǎng)站設計與江都網(wǎng)站推廣的解決方案,憑借多年的經驗,讓設計與互聯(lián)網(wǎng)技術結合,創(chuàng)造個性化、用戶體驗好的作品,建站類型包括:成都網(wǎng)站制作、成都網(wǎng)站設計、外貿營銷網(wǎng)站建設、企業(yè)官網(wǎng)、英文網(wǎng)站、手機端網(wǎng)站、網(wǎng)站推廣、域名注冊、網(wǎng)頁空間、企業(yè)郵箱。業(yè)務覆蓋江都地區(qū)。
Java 序列化和反序列化實例詳解
在分布式應用中,對象只有經過序列化才能在各個分布式組件之間傳輸,這就涉及到兩個方面的技術-發(fā)送者將對象序列化,接受者將對象反序列化,下面就是一個很好的例子!
1.實體-Employee
import java.io.Serializable; public class Employee implements Serializable{ /** * */ private static final long serialVersionUID = 1L; public String getName() { return name; } public void setName(String name) { this.name = name; } public int getAge() { return age; } public void setAge(int age) { this.age = age; } private String name; private int age; }
2.SerializeHelper
import java.io.ByteArrayInputStream; import java.io.ByteArrayOutputStream; import java.io.IOException; import java.io.ObjectInputStream; import java.io.ObjectOutputStream; public class SerializeHelper { public byte[] Serialize(Object object) { ByteArrayOutputStream byteArrayOutputStream = new ByteArrayOutputStream(); try { ObjectOutputStream objectOutputStream = new ObjectOutputStream(byteArrayOutputStream); //將對象寫入到字節(jié)數(shù)組中進行序列化 objectOutputStream.writeObject(object); return byteArrayOutputStream.toByteArray(); } catch (IOException e) { e.printStackTrace(); } return null; } public Object deSerialize(byte[] bytes) { //將二進制數(shù)組導入字節(jié)數(shù)據(jù)流中 ByteArrayInputStream byteArrayInputStream = new ByteArrayInputStream(bytes); try { //將字節(jié)數(shù)組流轉化為對象 ObjectInputStream objectInputStream = new ObjectInputStream(byteArrayInputStream); return objectInputStream.readObject(); } catch (IOException e) { e.printStackTrace(); } catch (ClassNotFoundException e) { e.printStackTrace(); } return null; } }
3.測試類
public class Hello { /** * @param args */ public static void main(String[] args) { // TODO Auto-generated method stub SerializeHelper serializeHelper = new SerializeHelper(); Employee employee = new Employee(); employee.setName("admin"); employee.setAge(20); byte[] serializObject = serializeHelper.Serialize(employee); System.out.println(serializObject); Employee e = (Employee)serializeHelper.deSerialize(serializObject); System.out.println("Name: " + e.getName()+",Age: " + e.getAge()); } }
4.輸出
[B@e05d173 Name: admin,Age: 20
關于深入淺析Java中的序列化與反序列化就分享到這里了,希望以上內容可以對大家有一定的幫助,可以學到更多知識。如果覺得文章不錯,可以把它分享出去讓更多的人看到。
文章題目:深入淺析Java中的序列化與反序列化
當前網(wǎng)址:http://chinadenli.net/article48/jiodep.html
成都網(wǎng)站建設公司_創(chuàng)新互聯(lián),為您提供響應式網(wǎng)站、搜索引擎優(yōu)化、網(wǎng)站導航、虛擬主機、定制開發(fā)、App設計
聲明:本網(wǎng)站發(fā)布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經允許不得轉載,或轉載時需注明來源: 創(chuàng)新互聯(lián)