一区二区三区在线-一区二区三区亚洲视频-一区二区三区亚洲-一区二区三区午夜-一区二区三区四区在线视频-一区二区三区四区在线免费观看

服務器之家:專注于服務器技術及軟件下載分享
分類導航

PHP教程|ASP.NET教程|Java教程|ASP教程|編程技術|正則表達式|C/C++|IOS|C#|Swift|Android|VB|R語言|JavaScript|易語言|vb.net|

服務器之家 - 編程語言 - Java教程 - ObjectInputStream類實現對象的反序列,ObjectOutputStream類實現對象的序列化流

ObjectInputStream類實現對象的反序列,ObjectOutputStream類實現對象的序列化流

2021-11-18 21:35Java進階學習交流Java進階者 Java教程

本文主要介紹了ObjectInputStream類、ObjectOutputStream類。ObjectInputStream類是對象的反序列化流。

ObjectInputStream類實現對象的反序列,ObjectOutputStream類實現對象的序列化流

大家好,我是Java進階者。

前言

本文主要學習ObjectInputStream類實現對象的反序列,ObjectOutputStream類實現對象的序列化流,接下來小編帶大家一起來學習!

一、 ObjectInputStream類

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

2.ObjectInputStream類的構造方法

public ObjectInputStream(InputStream in):創建指定的輸入流對象讀取ObjectInputStream。參數in表示指定的輸入流對象。

例子:

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

3.使用ObjectInputStream類實現對象的反序列化例子

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

運行的結果如下圖所示:

ObjectInputStream類實現對象的反序列,ObjectOutputStream類實現對象的序列化流

從上面的代碼中因為Person類中屬性的私有的,使用訪問器的方法set和get的方法,當調用ObjectInputStream的readObject()方法把text目錄下的test的Person對象數據讀取出來,這個就是反序列化。

二、ObjectOutputStream類

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

2.ObjectOutputStream類的構造方法

public ObjectOutputStream(OutputStream out):創建指定的輸出流對象寫入ObjectOutputStream。參數out表示指定的輸出流對象。

例子:

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

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

3.使用ObjectOutputStream類實現對象的序列化例子

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

運行的結果如下圖所示:

ObjectInputStream類實現對象的反序列,ObjectOutputStream類實現對象的序列化流

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

三、總結

本文主要介紹了ObjectInputStream類、ObjectOutputStream類。ObjectInputStream類是對象的反序列化流,它是InputStream類的子類,介紹了它的構造方法和方法,通過一個例子來學習使用ObjectInputStream類實現對象的反序列化。ObjectOutputStream類是是對象的序列化流,它是OutputStream類的子類,通過一個例子來學習使用ObjectOutputStream類實現對象的序列化。希望大家通過本文的學習,對你有所幫助!

原文鏈接:https://mp.weixin.qq.com/s/2hV6ujhLOGCc7CKzGIw_ww

延伸 · 閱讀

精彩推薦
  • Java教程20個非常實用的Java程序代碼片段

    20個非常實用的Java程序代碼片段

    這篇文章主要為大家分享了20個非常實用的Java程序片段,對java開發項目有所幫助,感興趣的小伙伴們可以參考一下 ...

    lijiao5352020-04-06
  • Java教程Java BufferWriter寫文件寫不進去或缺失數據的解決

    Java BufferWriter寫文件寫不進去或缺失數據的解決

    這篇文章主要介紹了Java BufferWriter寫文件寫不進去或缺失數據的解決方案,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望...

    spcoder14552021-10-18
  • Java教程Java使用SAX解析xml的示例

    Java使用SAX解析xml的示例

    這篇文章主要介紹了Java使用SAX解析xml的示例,幫助大家更好的理解和學習使用Java,感興趣的朋友可以了解下...

    大行者10067412021-08-30
  • Java教程升級IDEA后Lombok不能使用的解決方法

    升級IDEA后Lombok不能使用的解決方法

    最近看到提示IDEA提示升級,尋思已經有好久沒有升過級了。升級完畢重啟之后,突然發現好多錯誤,本文就來介紹一下如何解決,感興趣的可以了解一下...

    程序猿DD9332021-10-08
  • Java教程xml與Java對象的轉換詳解

    xml與Java對象的轉換詳解

    這篇文章主要介紹了xml與Java對象的轉換詳解的相關資料,需要的朋友可以參考下...

    Java教程網2942020-09-17
  • Java教程小米推送Java代碼

    小米推送Java代碼

    今天小編就為大家分享一篇關于小米推送Java代碼,小編覺得內容挺不錯的,現在分享給大家,具有很好的參考價值,需要的朋友一起跟隨小編來看看吧...

    富貴穩中求8032021-07-12
  • Java教程Java實現搶紅包功能

    Java實現搶紅包功能

    這篇文章主要為大家詳細介紹了Java實現搶紅包功能,采用多線程模擬多人同時搶紅包,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙...

    littleschemer13532021-05-16
  • Java教程Java8中Stream使用的一個注意事項

    Java8中Stream使用的一個注意事項

    最近在工作中發現了對于集合操作轉換的神器,java8新特性 stream,但在使用中遇到了一個非常重要的注意點,所以這篇文章主要給大家介紹了關于Java8中S...

    阿杜7482021-02-04
主站蜘蛛池模板: 欧美高清milf在线播放 | 人人斗地主 | 操bb视频| 欧美三级做爰全过程 | 久热这里只有精品99国产6 | 免费在线视频一区 | 男人天堂亚洲 | chanelpreston欧美网站 | 国产欧美日韩成人 | 91精品婷婷国产综合久久8 | 亚洲成人免费看 | 午夜在线观看免费观看 视频 | 外国老少性配 | 毛片应用 | 成人区精品一区二区毛片不卡 | 日本视频高清免费观看xxx | 99精品在线视频观看 | 亚洲欧美日韩天堂在线观看 | 亚洲精品九色在线网站 | 男人猛进猛出女人下面视频 | 国产精品igao视频网网址 | 92精品国产成人观看免费 | 91小视频在线观看免费版高清 | 国产激情在线 | a级黄色片免费 | 日日摸日日碰夜夜爽97纠 | 精品一区二区三区中文 | 日本中文字幕不卡在线一区二区 | 91se精品免费观看 | 欧美一级特黄特色大片免费 | 国产福利视频一区二区微拍视频 | 国产精品免费精品自在线观看 | 女人爽到喷水的视频免费看 | 日韩在线 中文字幕 | 激情婷婷综合久久久久 | 青青操在线观看 | 扒开双腿羞辱调教play视频 | porno18老师hd| 四虎永久免费地址在线观看 | 国产裸露片段精华合集链接 | 天堂网在线.www天堂在线视频 |