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

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

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

服務器之家 - 編程語言 - Java教程 - java-流的使用完結與異常處理機制(詳解)

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

2020-12-24 13:25Einsam Java教程

下面小編就為大家帶來一篇java-流的使用完結與異常處理機制(詳解)。小編覺得挺不錯的,現在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧

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

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

當一個類實現了Serializable接口后,應當在當前類中添加一個常量: 序列化版本號serialVersionUID

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

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

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

OutputStreamWriter的構造方法支持第二個參數,可以指定字符集,這樣通過該流寫出的字符都會按照指定的字符集轉換,若不指定第二個參數則安裝系統默認字符集轉換

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

java.io.BufferedWriter

java.io.BufferefReader

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

printWriter(pw)支持直接對文件操作的構造方法

printwriter(String path,String snc)

printwriter(File file,String snc)

csn:charset name 字符集名稱

PrintWriter在流鏈接中的構造方法:

PrintWriter(OutputStream out)

PrintWriter(Writer out)

使用上訴構造方法是,有一個對應的重載構造方法要求傳入第二個參數,該參數為boolean值若該值為true,則pw具有自動行刷新功能,即:每當使用PW。println()寫出內容后都會自動進行

flush操作

PrintWriter(OutputStream out,boolean autoflush)

PrintWriter(Writer out,boolean autoflush)

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

BufferedReader提供方法:

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

2.1 異常捕獲機制中的try-catch

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

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

注意:finalize;當一個對象即將被GC釋放前,GC會調用該對象的finalize方法,調用后該對象即被釋放。finalize方法是Object定義的方法

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

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

原文鏈接:http://www.cnblogs.com/CaiNiao-TuFei/archive/2017/08/31/7460458.html

延伸 · 閱讀

精彩推薦
主站蜘蛛池模板: 摸逼小说| 欧美精品v日韩精品v国产精品 | 亚洲黄色色图 | 小舞丝袜调教喷水沦为肉奴 | 成人不卡在线 | 校花在公车上被内射好舒 | xxnx日本免费护士 | 日本高清在线播放一区二区三区 | 91久久国产| 青青草99久久精品国产综合 | 男生和老师一起差差差 | 无人区在线观看免费观看 | 母乳在线播放 | 日本一区二区精品88 | 青春草在线观看视频 | 日韩在线视精品在亚洲 | 欧美人与日本人xx在线视频 | 亚洲国产成人久久综合一区77 | 国产成人99精品免费观看 | 亚洲高清在线视频 | 欧美最猛性xxxxx动态图 | 日韩成人一级 | 日韩精品一区二区三区中文在线 | 国产精品第 | 草草影院永久在线观看 | 97爱干 | 激情综合站 | 免费看视频的 | 蜜桃麻豆 | 粗了大了 整进去好爽视频 刺激一区仑乱 | 国产福利在线观看第二区 | 色综合天天综合中文网 | 男人女人日皮视频 | 亚洲天堂影院 | 97伊人久久精品亚洲午夜 | 无人区大片免费播放器 | 人体做爰aaaa免费 | 男人的天堂在线观看视频不卡 | 国产免费久久精品 | 日本96在线精品视频免费观看 | 国产欧美精品一区二区三区四区 |