91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

如何在java項目中使用io流

發布時間:2020-12-03 15:55:22 來源:億速云 閱讀:179 作者:Leah 欄目:編程語言

這篇文章將為大家詳細講解有關如何在java項目中使用io流,文章內容質量較高,因此小編分享給大家做個參考,希望大家閱讀完這篇文章后對相關知識有一定的了解。

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項目中使用io流就分享到這里了,希望以上內容可以對大家有一定的幫助,可以學到更多知識。如果覺得文章不錯,可以把它分享出去讓更多的人看到。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

连山| 铁力市| 赤峰市| 原阳县| 玛多县| 高台县| 四川省| 保靖县| 盘锦市| 中卫市| 肥城市| 阿克陶县| 铜山县| 台湾省| 蓝山县| 汽车| 谷城县| 华亭县| 灌南县| 萍乡市| 大渡口区| 成武县| 康马县| 屏东县| 循化| 平阴县| 新干县| 曲阜市| 新安县| 昆山市| 井陉县| 河津市| 中阳县| 泰和县| 玉山县| 天峻县| 湟中县| 南平市| 连山| 平顶山市| 磐安县|