日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > java >内容正文

java

Java IO: 序列化与ObjectInputStream、ObjectOutputStream

發布時間:2023/12/3 java 37 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Java IO: 序列化与ObjectInputStream、ObjectOutputStream 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

轉載自??Java IO: 序列化與ObjectInputStream、ObjectOutputStream

作者:Jakob?Jenkov??譯者:?李璟(jlee381344197@gmail.com)

本小節會簡要概括Java?IO中的序列化以及涉及到的流,主要包括ObjectInputStream和ObjectOutputStream。

Serializable

原文鏈接

如果你希望類能夠序列化和反序列化,必須實現Serializable接口,就像所展示的ObjectInputStream和ObjectOutputStream例子一樣。

對象序列化本身就是一個主題。Java?IO系列教程主要關注流、reader和writer,所以我不會深入探討對象序列化的細節。并且,目前在網上已經有很多文章探討了對象序列化,我將給出幾個深入分析的資料鏈接,不再贅述。鏈接如下:

http://java.sun.com/developer/technicalArticles/Programming/serialization/

ObjectInputStream

原文鏈接

ObjectInputStream能夠讓你從輸入流中讀取Java對象,而不需要每次讀取一個字節。你可以把InputStream包裝到ObjectInputStream中,然后就可以從中讀取對象了。代碼如下:

ObjectInputStream input = new ObjectInputStream(new FileInputStream("object.data"));MyClass object = (MyClass) input.readObject(); //etc.input.close();

在這個例子中,你讀取的對象必須是MyClass的一個實例,并且必須事先通過ObjectOutputStream序列化到“object.data”文件中。(譯者注:ObjectInputStream和ObjectOutputStream還有許多read和write方法,比如readInt、writeLong等等,詳細信息請查看官方文檔)

在你序列化和反序列化一個對象之前,該對象的類必須實現了java.io.Serializable接口。

ObjectOutputStream

原文鏈接

ObjectOutputStream能夠讓你把對象寫入到輸出流中,而不需要每次寫入一個字節。你可以把OutputStream包裝到ObjectOutputStream中,然后就可以把對象寫入到該輸出流中了。代碼如下:

ObjectOutputStream output = new ObjectOutputStream(new FileOutputStream("object.data"));MyClass object = new MyClass(); output.writeObject(object); //etc.output.close();

例子中序列化的對象object現在可以從ObjectInputStream中讀取了。

同樣,在你序列化和反序列化一個對象之前,該對象的類必須實現了java.io.Serializable接口。


總結

以上是生活随笔為你收集整理的Java IO: 序列化与ObjectInputStream、ObjectOutputStream的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。