五月天青色头像情侣网名,国产亚洲av片在线观看18女人,黑人巨茎大战俄罗斯美女,扒下她的小内裤打屁股

歡迎光臨散文網(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流-高級流的評論 (共 條)

分享到微博請遵守國家法律
哈密市| 南丰县| 融水| 汤原县| 广昌县| 杂多县| 临夏市| 永寿县| 綦江县| 大新县| 山东| 松阳县| 沙洋县| 广昌县| 宜城市| 建湖县| 鹰潭市| 光山县| 拜泉县| 诸暨市| 福清市| 林西县| 姚安县| 太湖县| 福鼎市| 当涂县| 翁牛特旗| 毕节市| 准格尔旗| 晋江市| 秀山| 荔浦县| 金塔县| 玉龙| 玉门市| 安阳市| 临西县| 江口县| 景泰县| 吉安市| 岑溪市|