最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

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

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

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

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

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

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

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

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

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

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

java.io.BufferedWriter

java.io.BufferefReader

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

printWriter(pw)支持直接對文件操作的構(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)造方法是,有一個對應(yīng)的重載構(gòu)造方法要求傳入第二個參數(shù),該參數(shù)為boolean值若該值為true,則pw具有自動行刷新功能,即:每當(dāng)使用PW。println()寫出內(nèi)容后都會自動進(jìn)行

flush操作

PrintWriter(OutputStream out,boolean autoflush)

PrintWriter(Writer out,boolean autoflush)

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

BufferedReader提供方法:

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

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

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

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

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

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

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

相關(guān)文章

  • 使用Idea或Datagrip導(dǎo)入excel數(shù)據(jù)的方法

    使用Idea或Datagrip導(dǎo)入excel數(shù)據(jù)的方法

    這篇文章主要介紹了使用Idea或Datagrip導(dǎo)入excel數(shù)據(jù)的方法,本文通過圖文并茂的形式給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2020-11-11
  • SpringBoot中@PostConstruct 注解的實現(xiàn)

    SpringBoot中@PostConstruct 注解的實現(xiàn)

    在Spring Boot框架中,?@PostConstruct是一個非常有用的注解,它用于在依賴注入完成后執(zhí)行初始化方法,本文將介紹?@PostConstruct的基本概念、使用場景以及提供詳細(xì)的代碼示例,感興趣的可以了解一下
    2024-09-09
  • SpringSecurity詳解整合JWT實現(xiàn)全過程

    SpringSecurity詳解整合JWT實現(xiàn)全過程

    JWT作為一個開放的標(biāo)準(zhǔn)(?RFC?7519?),定義了一種簡潔的,自包含的方法用于通信雙方之間以Json對象的形式安全的傳遞信息。接下來通過本文給大家介紹springSecurity+jwt實現(xiàn)互踢功能,需要的朋友可以參考下
    2022-07-07
  • Java中MapStruct使用方法解析

    Java中MapStruct使用方法解析

    這篇文章主要介紹了Java中MapStruct使用方法解析,接受請求參數(shù)都會使用一個vo類,這個vo類里封裝了所有需要接受的參數(shù),然后對參數(shù)進(jìn)行業(yè)務(wù)邏輯處理,處理完后會持久化處理,?使用MapStruct可以快速幫你解決轉(zhuǎn)換工作,需要的朋友可以參考下
    2023-10-10
  • Spring使用AspectJ的注解式實現(xiàn)AOP面向切面編程

    Spring使用AspectJ的注解式實現(xiàn)AOP面向切面編程

    這篇文章主要介紹了Spring使用AspectJ的注解式實現(xiàn)AOP面向切面編程的操作,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2021-06-06
  • SpringBoot?整合mapstruct的實現(xiàn)步驟

    SpringBoot?整合mapstruct的實現(xiàn)步驟

    這篇文章主要介紹了SpringBoot整合mapstruct,文中通過示例代碼介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2021-11-11
  • java  中OkHttp的使用方法及實例

    java 中OkHttp的使用方法及實例

    這篇文章主要介紹了java 中OkHttp的使用方法及實例的相關(guān)資料,需要的朋友可以參考下
    2017-06-06
  • 深入理解SpringCloud之Eureka注冊過程分析

    深入理解SpringCloud之Eureka注冊過程分析

    eureka是一種去中心化的服務(wù)治理應(yīng)用,其顯著特點是既可以作為服務(wù)端又可以作為服務(wù)向自己配置的地址進(jìn)行注冊,這篇文章主要介紹了深入理解SpringCloud之Eureka注冊過程分析
    2018-05-05
  • CAT分布式實時監(jiān)控系統(tǒng)使用詳解

    CAT分布式實時監(jiān)控系統(tǒng)使用詳解

    這篇文章主要為大家介紹了CAT分布式實時監(jiān)控系統(tǒng)介紹詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2023-03-03
  • SpringBoot整合Redis將對象寫入redis的實現(xiàn)

    SpringBoot整合Redis將對象寫入redis的實現(xiàn)

    本文主要介紹了SpringBoot整合Redis將對象寫入redis的實現(xiàn),文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2022-06-06

最新評論

获嘉县| 霍邱县| 兴化市| 合水县| 安乡县| 贵州省| 宜兰县| 磴口县| 武穴市| 自治县| 扎囊县| 甘谷县| 合作市| 阳城县| 宁武县| 五台县| 视频| 乌拉特后旗| 江津市| 海丰县| 望城县| 盱眙县| 湘乡市| 原平市| 横山县| 商水县| 兰考县| 大安市| 同心县| 社旗县| 鄂托克前旗| 怀柔区| 区。| 安福县| 丹东市| 潞西市| 如皋市| 巴马| 电白县| 兴和县| 胶南市|