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

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

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

延伸 · 閱讀

精彩推薦
主站蜘蛛池模板: h高潮娇喘抽搐 | 国产宅男| 国产a一级毛片午夜剧院 | 99久久精品免费精品国产 | 国产精品天天看天天爽 | 不卡视频一区二区 | 亚洲九九精品 | 成人啪啪漫画羞羞漫画www网站 | 日本理论片中文在线观看2828 | 丫鬟粗大狠狠贯穿h | 午夜久久免费视频 | 国产nv精品你懂得 | chinese老头和老太交hd | 日韩欧美一区二区三区中文精品 | 金莲你下面好紧夹得我好爽 | 四虎最新永久免费视频 | 亚洲色图色 | 天美传媒tm0065 | 欧美猛男同志同性video | 日本视频在线免费播放 | 好湿好紧太硬了我太爽了网站 | 色综合久久最新中文字幕 | 国产91亚洲精品 | 亚洲视频在线观看不卡 | 99视频都是精品热在线播放 | 色综合久久综精品 | 很黄的孕妇a级黄毛片 | 久久永久影院免费 | 欧美日韩国产成人综合在线影院 | 91国内精品久久久久影院优播 | 情人梁家辉在线 | 日本亚洲欧洲高清有码在线播放 | 女女宿舍互慰h文小说 | 忘忧草在线 | 久久精品亚洲精品国产欧美 | 羞羞视频动漫 | 性满足久久久久久久久 | 久久中文骚妇内射 | 99视频全部看免费观 | 好大好硬好深好爽想要小雪 | ssni-497新任美脚女教师 |