成人无码视频,亚洲精品久久久久av无码,午夜精品久久久久久毛片,亚洲 中文字幕 日韩 无码

資訊專欄INFORMATION COLUMN

Java IO框架總攬--ObjectInputStream& ObjectOutputSt

philadelphia / 1931人閱讀

摘要:與的作用是對(duì)基本數(shù)據(jù)和對(duì)象進(jìn)行序列化操作進(jìn)行支持。如果檢測(cè)到反序列化的類的和對(duì)象二進(jìn)制流的不同,則會(huì)拋出異常。

ObjectInputStream與ObjectOutputStream的作用是:對(duì)基本數(shù)據(jù)和對(duì)象進(jìn)行序列化操作進(jìn)行支持。其中ObjectInputStream對(duì)象提供對(duì)基本數(shù)據(jù)和對(duì)象對(duì)持久存儲(chǔ),當(dāng)我們需要讀取這些存儲(chǔ)這些基本數(shù)據(jù)或?qū)ο髸r(shí),可以創(chuàng)建文件輸入流對(duì)應(yīng)的ObjectInputStream,進(jìn)而讀取這些基本數(shù)據(jù)或?qū)ο蟆?
序列化有關(guān)的基礎(chǔ)知識(shí):
1 需要序列化的類必須實(shí)現(xiàn)java.io.Serializable接口,否則會(huì)拋出NotSerializableException異常。
2 如果檢測(cè)到反序列化的類的serialVersionUID和對(duì)象二進(jìn)制流的serialVersionUID不同,則會(huì)拋出異常。
3 Java序列化會(huì)將一個(gè)類中包含的引用中的所有的成員變量保存下來(lái),所以里面的引用類型也要實(shí)現(xiàn)java.io.Serializable的接口。
4 對(duì)于不用采用默認(rèn)序列化或無(wú)需序列化的成員變量,可以添加transient關(guān)鍵字,并不是說(shuō)添加了transient關(guān)鍵字就一定不能序列化。
5 每一個(gè)類可以實(shí)現(xiàn)readObject、writeObject等方法實(shí)現(xiàn)自己的序列化策略,即使是transient修飾的成員變量也可以手動(dòng)調(diào)用ObjectOutputStream的write*等方法,將成員變量序列化。

ObjectOutputStream 有關(guān)方法

1 public ObjectOutputStream(OutputStream out) throws IOException {} 
* 創(chuàng)建一個(gè)ObjectOutputStream去寫(xiě)入指定的OutputStream,此構(gòu)造函數(shù)將序列化流頭寫(xiě)入底層流,調(diào)用者需要立即刷新流,以確保用于接收ObjectInputStreams的構(gòu)造函數(shù)在讀取該頭時(shí)不會(huì)阻塞。

2 protected ObjectOutputStream() throws IOException, SecurityException {}
* 為完全重新實(shí)現(xiàn)ObjectOutputStream的子類提供一種方法,使其不必分配僅由ObjectOutputStream的實(shí)現(xiàn)使用的私有數(shù)據(jù)

3 public void useProtocolVersion(int version) throws IOException {}
* 指定在編寫(xiě)流時(shí)使用的流協(xié)議版本

4  public final void writeObject(Object obj) throws IOException {}
* 將指定的對(duì)象寫(xiě)入ObjutoExtStudio流,對(duì)象的類、類的簽名、類及其所有超類型的非瞬態(tài)和非靜態(tài)字段的值都可以通過(guò)該方法寫(xiě)入,重寫(xiě)writeObject和readObject方法可以將默認(rèn)的序列號(hào)重寫(xiě),該對(duì)象引用的對(duì)象是通過(guò)傳遞方式編寫(xiě)的,以便ObjectInputStream可以重構(gòu)等效的、完整的對(duì)象。

文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請(qǐng)注明本文地址:http://m.hztianpu.com/yun/72005.html

相關(guān)文章

  • Java IO框架總攬--序列化

    摘要:序列化提供的一種對(duì)象序列化的機(jī)制,在該機(jī)制中,一個(gè)對(duì)象可以被表示為一個(gè)字節(jié)序列,該字節(jié)序列包括對(duì)象的數(shù)據(jù)有關(guān)對(duì)象的類型的信息和存儲(chǔ)在對(duì)象中的數(shù)據(jù)類型。類和是高程次的數(shù)據(jù)流,他們包含序列化和反序列化對(duì)象的方法。 序列化:Java提供的一種對(duì)象序列化的機(jī)制,在該機(jī)制中,一個(gè)對(duì)象可以被表示為一個(gè)字節(jié)序列,該字節(jié)序列包括對(duì)象的數(shù)據(jù)、有關(guān)對(duì)象的類型的信息、和存儲(chǔ)在對(duì)象中的數(shù)據(jù)類型。 反序列化:將...

    codercao 評(píng)論0 收藏0
  • Java IO框架總攬--FileInputStream源碼解讀

    摘要:是從文件系統(tǒng)中的文件中獲取字節(jié),至于什么文件,取決于主機(jī)環(huán)境,用于讀取原始字節(jié)流,如圖像數(shù)據(jù),假如想要讀取字符類型流,請(qǐng)使用。跳過(guò)個(gè)字節(jié)本地方法關(guān)閉文件輸入流 FileInputStream是從文件系統(tǒng)中的文件中獲取字節(jié),至于什么文件,取決于主機(jī)環(huán)境,F(xiàn)ileInputStream用于讀取原始字節(jié)流,如圖像數(shù)據(jù),假如想要讀取字符類型流,請(qǐng)使用FileReader。 ...

    894974231 評(píng)論0 收藏0
  • Java IO框架總攬--FileOutputStream源碼解讀

    摘要:是繼承與的子類常用屬性文件描述符是否在文件尾部開(kāi)始追加寫(xiě)入用于讀寫(xiě)映射操作文件的通道文件的路徑一個(gè)關(guān)閉鎖,只在方法中使用,確保多線程同步調(diào)用構(gòu)造函數(shù)創(chuàng)建一個(gè)向指定對(duì)應(yīng)的文件中寫(xiě)入數(shù)據(jù)的文件輸出流創(chuàng)建一個(gè)向指定對(duì)應(yīng)的文件中寫(xiě)入數(shù)據(jù)的文件輸出流 FileOutputStream 是繼承與OutputStream的子類 1 常用屬性 private final FileDescriptor...

    warmcheng 評(píng)論0 收藏0
  • Java IO框架總攬--File源碼解讀

    摘要:直接繼承與,實(shí)現(xiàn)了接口和接口,實(shí)現(xiàn)接口,意味著對(duì)象支持序列化操作,而實(shí)現(xiàn)接口,意味著之間可以比較大小。刪除此抽象路徑名表示的文件或目錄。標(biāo)記此抽象路徑名指定的文件或目錄,從而只能對(duì)其進(jìn)行讀操作。 showImg(https://segmentfault.com/img/bVbi3ls?w=2048&h=164);1 File直接繼承與Object,實(shí)現(xiàn)了Serializable接口和C...

    rubyshen 評(píng)論0 收藏0
  • Java編程基礎(chǔ)23——IO(其他流)&Properties

    摘要:但它融合了和的功能。支持對(duì)隨機(jī)訪問(wèn)文件的讀取和寫(xiě)入。的概述和作為集合的使用了解的概述類表示了一個(gè)持久的屬性集??杀4嬖诹髦谢驈牧髦屑虞d。屬性列表中每個(gè)鍵及其對(duì)應(yīng)值都是一個(gè)字符串。 1_序列流(了解) 1.什么是序列流 序列流可以把多個(gè)字節(jié)輸入流整合成一個(gè), 從序列流中讀取數(shù)據(jù)時(shí), 將從被整合的第一個(gè)流開(kāi)始讀, 讀完一個(gè)之后繼續(xù)讀第二個(gè), 以此類推. 2.使用方式 整合兩個(gè): S...

    vvpale 評(píng)論0 收藏0

發(fā)表評(píng)論

0條評(píng)論

閱讀需要支付1元查看
<