最美情侣中文字幕电影,在线麻豆精品传媒,在线网站高清黄,久久黄色视频

歡迎光臨散文網(wǎng) 會員登陸 & 注冊

Java IO流-高級流

2023-03-03 23:02 作者:回到唐朝當少爺  | 我要投稿

IO流 高級流

緩沖流分為字節(jié)緩沖流與字符緩沖流

字節(jié)緩沖流分為BufferedInputStream(字節(jié)緩沖輸入流)和BufferedOutputStream(字節(jié)緩沖輸出流)

字符緩沖流分為BufferedReader(字符緩沖輸入流)與BufferedWriter(字符緩沖輸出流)

字節(jié)緩沖流

原理:底層自帶了長度為9182的緩沖區(qū)提高性能

例:一次拷貝一個字節(jié)

例:一次拷貝多個字節(jié)

字符緩沖流

原理:底層自帶了長度為8192的緩沖區(qū)提高性能

字符緩沖流的特有方法

readLine方法在讀取的時候,一次讀一整行,遇到回車換行結(jié)束,但是它不會把回車換行讀到內(nèi)存中

緩沖流為什么能提高性能?

  • 緩沖流自帶長度為8192的緩沖區(qū)

  • 可以顯著提高字節(jié)流的讀寫性能

  • 對于字符流提升不明顯,對于字符緩沖流關鍵點是兩個特有的方法readLine()與newLine()

注意,文件流最好隨用隨創(chuàng)建,什么時候不用什么時候關閉

轉(zhuǎn)換流

轉(zhuǎn)換輸入流(InputStreamReader)

轉(zhuǎn)換輸出流(OutputStreamWriter)

JDK11后

轉(zhuǎn)換流的作用:字節(jié)流想使用字符流中的方法

例:利用字節(jié)流讀取文件中的數(shù)據(jù),每次讀一整行不出現(xiàn)亂碼

序列化流

ObjectOutputStream(序列化流)可以把Java中的對象寫到本地文件中

小細節(jié):使用對象輸出流將對象保存到文件時會出現(xiàn)NoteSerializableException異常 解決方案:讓Javabean類實現(xiàn)Serializable接口

Serializable接口沒有抽象方法(標記型接口)

反序列化流

ObjectInputStream(反序列化流)可以把序列化到本地文件中的對象讀取到程序中來

如果序列號不一樣會報錯

解決方案1:在類里面這樣定義

解決方案2:在IDEA里面設置自動產(chǎn)生序列號

transient瞬態(tài)關鍵字:不會把當前屬性序列序列化到本地文件中

序列化流與反序列化流細節(jié)

  1. 使用序列化流將對象寫到文件時,需要讓Javabean類實現(xiàn)Serializable接口,否則會出現(xiàn)NotSerializableException異常

  2. 序列化流寫到文件中的數(shù)據(jù)是不能修改的,一旦修改就無法再次讀回來了

  3. 序列化對象后,修改了Javabean類,再次反序列化會出問題:InvalidClassVersionUID(序列號版本號)

  4. 如果一個對象中的某個成員變量的值不想被序列化,可以加transient關鍵字修飾,該關鍵字標記的成員變量不參與序列化過程

打印流

分類:一般指PrintStream,PrintWriter兩個類

  • 特點1:打印流只操作2文件目的地,不操作數(shù)據(jù)源

  • 特點2:特有的寫出方法可以實現(xiàn)數(shù)據(jù)原樣寫出 如:打印97 ? 文件中:97 ? 打印true 文件中:true

  • 特點3:特有的寫出方法可以實現(xiàn)自動刷新,自動換行 打印一次數(shù)據(jù)=寫出+換行+刷新

字節(jié)打印流

字節(jié)流底層沒有緩沖區(qū),開不開自動刷新都一樣

字符打印流

字符流底層有緩沖區(qū),想要自動刷新需開啟

成員方法與字節(jié)打印流一樣

打印流的應用場景

  • 字節(jié)打印流:默認自動刷新

  • 字符打印流:自動刷新需要開啟

解壓縮流

關鍵:壓縮包里的每一個文件或文件夾都是一個ZipEntry對象

壓縮流

壓縮本質(zhì):把每一個(文件/文件夾)看成ZipEntry對象放到壓縮包中

例:壓縮一個文件

Commos-io

Commos-io是apache開源基金組織提供的一組有關IO操作的開源工具包

作用:提高IO流的開發(fā)效率

Apache:專門為支持開源軟件項目而辦的一個非盈利性組織,成立于1999年,總部在美國馬里蘭州

使用步驟:

  1. 在項目中創(chuàng)建一個文件夾lib

  2. 將jar包復制粘貼到lib文件夾

  3. 右鍵點擊jar包,選擇Add as Library->OK

  4. 在類中導包使用

[hutool](入門和安裝 (hutool.cn): https://hutool.cn/docs/#/)國產(chǎn)Java工具包


Java IO流-高級流的評論 (共 條)

分享到微博請遵守國家法律
昆山市| 开原市| 诸暨市| 海淀区| 桐城市| 亚东县| 黄石市| 临安市| 东海县| 大同县| 灵石县| 景宁| 临泽县| 日喀则市| 边坝县| 南溪县| 南澳县| 舞钢市| 廉江市| 宜良县| 炉霍县| 蓝山县| 鸡西市| 改则县| 苏尼特左旗| 监利县| 清水河县| 疏附县| 高要市| 伊金霍洛旗| 和顺县| 许昌市| 托克托县| 新余市| 英吉沙县| 当阳市| 大连市| 且末县| 衢州市| 巧家县| 五寨县|