欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

java-流的使用完結(jié)與異常處理機(jī)制(詳解)

 更新時(shí)間:2017年09月01日 09:36:54   作者:Einsam  
下面小編就為大家?guī)?lái)一篇java-流的使用完結(jié)與異常處理機(jī)制(詳解)。小編覺(jué)得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧

1.1 java.io.objectInputStream 對(duì)象輸入流:用于將一組字節(jié)(通過(guò)對(duì)象輸出流寫出對(duì)象而轉(zhuǎn)換的一組字節(jié))讀取并轉(zhuǎn)換為對(duì)應(yīng)的對(duì)象。對(duì)象輸出流將對(duì)象寫出時(shí)轉(zhuǎn)換為一組字節(jié)的過(guò)程,稱為:對(duì)象序列化對(duì)象輸入流將這組字節(jié)讀取并還原會(huì)對(duì)象的過(guò)程,稱為:對(duì)象反序列化

1.2 java.io.Serializable Serializable序列化接口

當(dāng)一個(gè)類實(shí)現(xiàn)了Serializable接口后,應(yīng)當(dāng)在當(dāng)前類中添加一個(gè)常量: 序列化版本號(hào)serialVersionUID

序列化版本號(hào)若不指定,那么編譯器會(huì)在編譯后的class文件中默認(rèn)添加一個(gè),而值則是根據(jù)當(dāng)前類結(jié)構(gòu)生成,但這有一個(gè)問(wèn)題,若當(dāng)前類的結(jié)構(gòu)發(fā)生了變化,那么版本號(hào)會(huì)發(fā)生變化,所以建議自行制定版本號(hào) 版本號(hào)影響對(duì)象反序列化的結(jié)果:當(dāng)對(duì)象輸入流讀取一個(gè)對(duì)象并嘗試進(jìn)行反序列化時(shí)會(huì)檢測(cè)該對(duì)象的版本號(hào)與其所屬類現(xiàn)有版本號(hào)是否一致,一致則反序列化成功,不一致則反序列化失敗版本號(hào)一致的情況下,若待反序列化的對(duì)象與當(dāng)前類現(xiàn)有結(jié)構(gòu)不一致是,則采取兼容模式,即:該對(duì)象的屬相現(xiàn)有類依然有的則還原,沒(méi)有的則被忽略。

transient--關(guān)鍵字:該關(guān)鍵字用來(lái)修飾屬性,那么當(dāng)該對(duì)象進(jìn)行序列化時(shí),這個(gè)屬性的值會(huì)被忽略,從而達(dá)到對(duì)象“瘦身”的效果

1.3 java.io.FileOutputStream;Java根據(jù)流讀寫數(shù)據(jù)的單位劃分為:字節(jié)流,字符流 字節(jié)流以字節(jié)為單位讀寫數(shù)據(jù)字符流以字符(unicode)為單位讀寫數(shù)據(jù),但是底層本質(zhì)上還是讀寫字節(jié),只是字節(jié)與字符的轉(zhuǎn)換工作有字符流完成Weiter與Reader是所有字符流的父類,他們是一對(duì)抽象類,規(guī)定了所有字符流都要具備的讀寫字符方法。轉(zhuǎn)換流OutoutStreamWriter與InputStreamReader是字符流的一對(duì)常見(jiàn)實(shí)現(xiàn)類

OutputStreamWriter的構(gòu)造方法支持第二個(gè)參數(shù),可以指定字符集,這樣通過(guò)該流寫出的字符都會(huì)按照指定的字符集轉(zhuǎn)換,若不指定第二個(gè)參數(shù)則安裝系統(tǒng)默認(rèn)字符集轉(zhuǎn)換

1.4 java.io.PrintWriter;緩沖字符流:緩沖字符流內(nèi)置緩沖區(qū),可以提高讀寫字符效率,并且緩沖字符流的特點(diǎn)可以按行讀寫字符串。

java.io.BufferedWriter

java.io.BufferefReader

java.io.printWriter是常用的緩沖字符輸出流,并且還提供了支佛那個(gè)行刷新功能,由于創(chuàng)建PrintWriter時(shí)其內(nèi)部總是嵌套BufferedWriter所以實(shí)際的緩沖操作是由BufferefWriter實(shí)現(xiàn)

printWriter(pw)支持直接對(duì)文件操作的構(gòu)造方法

printwriter(String path,String snc)

printwriter(File file,String snc)

csn:charset name 字符集名稱

PrintWriter在流鏈接中的構(gòu)造方法:

PrintWriter(OutputStream out)

PrintWriter(Writer out)

使用上訴構(gòu)造方法是,有一個(gè)對(duì)應(yīng)的重載構(gòu)造方法要求傳入第二個(gè)參數(shù),該參數(shù)為boolean值若該值為true,則pw具有自動(dòng)行刷新功能,即:每當(dāng)使用PW。println()寫出內(nèi)容后都會(huì)自動(dòng)進(jìn)行

flush操作

PrintWriter(OutputStream out,boolean autoflush)

PrintWriter(Writer out,boolean autoflush)

1.5 java.io.BufferedReader;緩沖字節(jié)輸入流 可以按行讀取字符串

BufferedReader提供方法:

String readLine()連續(xù)讀取若干字符,知道讀取了換行符為止,將之前的所有字符以一個(gè)字符串形式返回。注意,返回的字符串中是不包含最后的換行的,若返回為null,則表示末尾.

2.1 異常捕獲機(jī)制中的try-catch

catch可以定義多個(gè),針對(duì)try代碼塊中可能出現(xiàn)的異常有不同的處理方式時(shí),需要單獨(dú)捕獲這些異常并編寫解決手段代碼但是應(yīng)當(dāng)養(yǎng)成一個(gè)習(xí)慣,就是在最后捕獲一個(gè)Exceotion,這樣會(huì)避免因拋出一個(gè)未捕獲的異常導(dǎo)致程序出現(xiàn)中斷的情況,當(dāng)捕獲的異常之間存在繼承關(guān)系時(shí),需要將子類異常定義在上面捕獲,后定義父類型異常。

異常捕獲機(jī)制中的finally;finally塊只能定義在異常捕獲機(jī)制的最后,即:try之后或者一個(gè)catch之后。finally塊可以保證無(wú)論try語(yǔ)句塊中的代碼是否拋出異常,finally塊中的代碼都必將執(zhí)行。所以通常會(huì)將無(wú)關(guān)異常都要執(zhí)行的代碼放入finally塊中確保執(zhí)行,比如IO操作中的關(guān)閉流操作。

注意:finalize;當(dāng)一個(gè)對(duì)象即將被GC釋放前,GC會(huì)調(diào)用該對(duì)象的finalize方法,調(diào)用后該對(duì)象即被釋放。finalize方法是Object定義的方法

我是初學(xué)者,如有更新不好的,歡迎這位大神指出,謝謝大家!

以上這篇java-流的使用完結(jié)與異常處理機(jī)制(詳解)就是小編分享給大家的全部?jī)?nèi)容了,希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。

相關(guān)文章

  • SpringBoot訪問(wèn)請(qǐng)求404解決方法

    SpringBoot訪問(wèn)請(qǐng)求404解決方法

    這篇文章主要介紹了SpringBoot訪問(wèn)請(qǐng)求404解決方法,文中有詳細(xì)的解決方法供大家參考,對(duì)我們學(xué)習(xí)或工作有一定的幫助,需要的朋友跟著小編一起來(lái)學(xué)習(xí)吧
    2023-07-07
  • 在springboot中使用AOP進(jìn)行全局日志記錄

    在springboot中使用AOP進(jìn)行全局日志記錄

    這篇文章主要介紹就在springboot中使用AOP進(jìn)行全局日志記錄,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2021-11-11
  • Java的Character類詳解

    Java的Character類詳解

    在實(shí)際開(kāi)發(fā)過(guò)程中,我們經(jīng)常會(huì)遇到需要使用對(duì)象,而不是內(nèi)置數(shù)據(jù)類型的情況。為了解決這個(gè)問(wèn)題,Java語(yǔ)言為內(nèi)置數(shù)據(jù)類型char提供了包裝類Character類。本文詳細(xì)介紹了Java的Character類,感興趣的同學(xué)可以參考閱讀
    2023-04-04
  • Springboot2.0自適應(yīng)效果錯(cuò)誤響應(yīng)過(guò)程解析

    Springboot2.0自適應(yīng)效果錯(cuò)誤響應(yīng)過(guò)程解析

    這篇文章主要介紹了Springboot2.0自適應(yīng)效果錯(cuò)誤響應(yīng)過(guò)程解析,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2019-11-11
  • Spring@Value屬性注入使用方法解析

    Spring@Value屬性注入使用方法解析

    這篇文章主要介紹了Spring@Value屬性注入使用方法解析,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2020-01-01
  • java操作mysql實(shí)現(xiàn)增刪改查的方法

    java操作mysql實(shí)現(xiàn)增刪改查的方法

    這篇文章主要介紹了java操作mysql實(shí)現(xiàn)增刪改查的方法,結(jié)合實(shí)例形式分析了java操作mysql數(shù)據(jù)庫(kù)進(jìn)行增刪改查的具體實(shí)現(xiàn)技巧與相關(guān)注意事項(xiàng),需要的朋友可以參考下
    2017-05-05
  • 淺析對(duì)java枚舉類型的認(rèn)識(shí)

    淺析對(duì)java枚舉類型的認(rèn)識(shí)

    在本文里我們給大家分享了關(guān)于對(duì)java枚舉類型的認(rèn)識(shí)和相關(guān)知識(shí)點(diǎn)內(nèi)容,有需要的朋友們跟著學(xué)習(xí)參考下。
    2019-03-03
  • Java 關(guān)鍵字static詳解及實(shí)例代碼

    Java 關(guān)鍵字static詳解及實(shí)例代碼

    這篇文章主要介紹了Java 關(guān)鍵字static詳解及實(shí)例代碼的相關(guān)資料,需要的朋友可以參考下
    2017-04-04
  • 基于令牌桶的限流器注解的簡(jiǎn)單實(shí)現(xiàn)詳解

    基于令牌桶的限流器注解的簡(jiǎn)單實(shí)現(xiàn)詳解

    令牌桶算法是一種常用的流量控制算法,用于限制請(qǐng)求或事件的發(fā)生速率,這篇文章主要介紹了如何基于令牌桶實(shí)現(xiàn)限流器注解,需要的可以參考一下
    2023-08-08
  • springBoot集成mybatis 轉(zhuǎn)換為 mybatis-plus方式

    springBoot集成mybatis 轉(zhuǎn)換為 mybatis-plus方式

    這篇文章主要介紹了springBoot集成mybatis 轉(zhuǎn)換為 mybatis-plus方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2021-12-12

最新評(píng)論