成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

ObjectInputStream類實(shí)現(xiàn)對(duì)象的反序列,ObjectOutputStream類實(shí)現(xiàn)對(duì)象的序列化流

開(kāi)發(fā) 前端
本文主要介紹了ObjectInputStream類、ObjectOutputStream類。ObjectInputStream類是對(duì)象的反序列化流。

大家好,我是Java進(jìn)階者。

前言

本文主要學(xué)習(xí)ObjectInputStream類實(shí)現(xiàn)對(duì)象的反序列,ObjectOutputStream類實(shí)現(xiàn)對(duì)象的序列化流,接下來(lái)小編帶大家一起來(lái)學(xué)習(xí)!

一、 ObjectInputStream類

1.ObjectInputStream是對(duì)象的反序列化流,它是InputStream類的子類。

2.ObjectInputStream類的構(gòu)造方法

public ObjectInputStream(InputStream in):創(chuàng)建指定的輸入流對(duì)象讀取ObjectInputStream。參數(shù)in表示指定的輸入流對(duì)象。

例子:

  1. FileInputStream fs=new FileInputStream("test.txt"); 
  2. ObjectInputStream os=new ObjectInputStream(fs); 

3.使用ObjectInputStream類實(shí)現(xiàn)對(duì)象的反序列化例子

  1. import java.io.*; 
  2.  
  3. class Person implements Serializable
  4. // 實(shí)現(xiàn)序列化接口 
  5. private String id,name
  6. private int age; 
  7. //構(gòu)造方法 
  8. public Person(String id,String nameint age) { 
  9.         this.id = id; 
  10.         this.name = name
  11.         this.age = age; 
  12.  
  13. public String getId() { 
  14.         return id; 
  15.  
  16. public void setId(String id) { 
  17.         this.id = id; 
  18.  
  19. public String getName() { 
  20.         return name
  21.  
  22. public void setName(String name) { 
  23.         this.name = name
  24.  
  25. public int getAge() { 
  26.         return age; 
  27.  
  28. public void setAge(int age) { 
  29.         this.age = age; 
  30.  
  31. public class P18{ 
  32. public static void main(String[] args) throws Exception { 
  33. //創(chuàng)建文件輸入流對(duì)象,讀取指定的文件 
  34. FileInputStream fs=new FileInputStream("text/test"); 
  35. //創(chuàng)建對(duì)象輸入流 
  36. ObjectInputStream os=new ObjectInputStream(fs); 
  37. //讀取Person對(duì)象 
  38. Person p=(Person)os.readObject(); 
  39. System.out.println("讀取文本的數(shù)據(jù)后顯示:"); 
  40. System.out.println("id="+p.getId()+"\tname="+p.getName()+"\tage="+p.getAge()); 
  41.   } 

運(yùn)行的結(jié)果如下圖所示:

從上面的代碼中因?yàn)镻erson類中屬性的私有的,使用訪問(wèn)器的方法set和get的方法,當(dāng)調(diào)用ObjectInputStream的readObject()方法把text目錄下的test的Person對(duì)象數(shù)據(jù)讀取出來(lái),這個(gè)就是反序列化。

二、ObjectOutputStream類

1.ObjectOutputStream是對(duì)象的序列化流,它是OutputStream類的子類。

2.ObjectOutputStream類的構(gòu)造方法

public ObjectOutputStream(OutputStream out):創(chuàng)建指定的輸出流對(duì)象寫(xiě)入ObjectOutputStream。參數(shù)out表示指定的輸出流對(duì)象。

例子:

  1. FileOutputStream fs=new FileOutputStream("test.txt"); 
  2. ObjectOutputStream os=new ObjectOutputStream(fs); 

對(duì)象輸出流使用writeObject(Object obj)方法將一個(gè)對(duì)象obj寫(xiě)入到一個(gè)文件,對(duì)象輸入流使用readObject()方法從源中讀取一個(gè)對(duì)象到程序中。

3.使用ObjectOutputStream類實(shí)現(xiàn)對(duì)象的序列化例子

  1. import java.io.FileOutputStream; 
  2. import java.io.IOException; 
  3. import java.io.ObjectOutputStream; 
  4. import java.io.Serializable
  5.  
  6. public class Person implements Serializable
  7. // 實(shí)現(xiàn)序列化接口 
  8. private String id,name
  9. private int age; 
  10. //構(gòu)造方法 
  11. public Person(String id,String nameint age) { 
  12.         this.id = id; 
  13.         this.name = name
  14.         this.age = age; 
  15.  
  16. public String getId() { 
  17.         return id; 
  18.  
  19. public void setId(String id) { 
  20.         this.id = id; 
  21.  
  22. public String getName() { 
  23.         return name
  24.  
  25. public void setName(String name) { 
  26.         this.name = name
  27.  
  28. public int getAge() { 
  29.         return age; 
  30.  
  31. public void setAge(int age) { 
  32.         this.age = age; 
  33. public static void main(String[] args) throws IOException { 
  34. //創(chuàng)建一個(gè)Person對(duì)象 
  35. Person p=new Person("C01","進(jìn)階者",18); 
  36. System.out.println("寫(xiě)入文件前的數(shù)據(jù):"); 
  37. System.out.println("id="+p.getId()+"\tname="+p.getName()+"\tage="+p.getAge()); 
  38. //創(chuàng)建文件輸出流對(duì)象,把數(shù)據(jù)寫(xiě)入text目錄下的test.txt文件中 
  39. FileOutputStream fs=new FileOutputStream("text/test.txt"); 
  40. //創(chuàng)建對(duì)象輸出流 
  41. ObjectOutputStream os=new ObjectOutputStream(fs); 
  42. os.writeObject(p); 
  43.   } 

運(yùn)行的結(jié)果如下圖所示:

從上面的代碼中,首先是對(duì)Person對(duì)象進(jìn)行實(shí)例化,它的id為c01,name為進(jìn)階者,年齡為18。當(dāng)調(diào)用ObjectOutputStream的writeObject()方法將Person對(duì)象寫(xiě)入text目錄下的test.txt。這就實(shí)現(xiàn)了序列化!

三、總結(jié)

本文主要介紹了ObjectInputStream類、ObjectOutputStream類。ObjectInputStream類是對(duì)象的反序列化流,它是InputStream類的子類,介紹了它的構(gòu)造方法和方法,通過(guò)一個(gè)例子來(lái)學(xué)習(xí)使用ObjectInputStream類實(shí)現(xiàn)對(duì)象的反序列化。ObjectOutputStream類是是對(duì)象的序列化流,它是OutputStream類的子類,通過(guò)一個(gè)例子來(lái)學(xué)習(xí)使用ObjectOutputStream類實(shí)現(xiàn)對(duì)象的序列化。希望大家通過(guò)本文的學(xué)習(xí),對(duì)你有所幫助!

 

責(zé)任編輯:姜華 來(lái)源: Java進(jìn)階學(xué)習(xí)交流
相關(guān)推薦

2011-06-01 15:05:02

序列化反序列化

2018-03-19 10:20:23

Java序列化反序列化

2009-06-14 22:01:27

Java對(duì)象序列化反序列化

2012-04-13 10:45:59

XML

2009-09-09 15:47:27

XML序列化和反序列化

2009-09-09 14:45:41

XML序列化和反序列化

2022-08-06 08:41:18

序列化反序列化Hessian

2022-10-12 23:39:46

Java接口屬性

2024-03-05 12:49:30

序列化反序列化C#

2009-08-24 17:14:08

C#序列化

2021-08-30 12:25:12

Python序列化函數(shù)

2009-08-06 11:16:25

C#序列化和反序列化

2011-05-18 15:20:13

XML

2023-12-13 13:49:52

Python序列化模塊

2010-03-19 15:54:21

Java Socket

2009-07-29 13:39:02

JSON序列化和反序列ASP.NET AJA

2024-01-30 13:32:51

JSON反序列化序列化

2011-06-01 14:50:48

2019-11-20 10:07:23

web安全PHP序列化反序列化

2009-08-25 14:24:36

C#序列化和反序列化
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)

主站蜘蛛池模板: 午夜av电影院 | 久色视频在线观看 | 精品一区二区电影 | 日韩视频一区二区在线 | 欧美a∨| 在线观看av网站永久 | 7777在线视频 | 日韩精品免费看 | 亚洲一区二区三区视频免费观看 | 一区二区视频 | 国产亚洲精品久久19p | 青草久久免费视频 | 特级黄一级播放 | 性国产丰满麻豆videosex | 在线观看日本高清二区 | 男女视频91 | 一区二区久久电影 | 亚洲国产一区二区三区在线观看 | 亚洲中午字幕 | 日韩视频1 | 久久久久电影 | 亚洲一区中文字幕在线观看 | 国产精品日日做人人爱 | www亚洲精品 | 欧美成人a | 特黄视频 | 欧美日韩电影一区二区 | 成人黄色av| 天天色综 | 一级做a爰片性色毛片16美国 | 午夜小影院| 国产精品国产精品国产专区不蜜 | 亚洲在线视频 | 羞视频在线观看 | 91视频一88av | av一区二区三区 | 毛片视频免费观看 | 自拍偷拍视频网 | 国产福利资源在线 | 蜜月va乱码一区二区三区 | 中文字幕日韩在线 |