java字節(jié)流知識(shí)點(diǎn)總結(jié)
在java中我們使用輸入流來(lái)向一個(gè)字節(jié)序列對(duì)象中寫(xiě)入,使用輸出流來(lái)向輸出其內(nèi)容。C語(yǔ)言中只使用一個(gè)File包處理一切文件操作,而在java中卻有著60多種流類(lèi)型,構(gòu)成了整個(gè)流家族。看似龐大的體系結(jié)構(gòu),其實(shí)只要使用適合的方法將其分門(mén)別類(lèi),就顯得清晰明了了。而我準(zhǔn)備將其按照處理文件類(lèi)型的不同,分為字節(jié)流類(lèi)型和字符流類(lèi)型。共兩篇文章,本篇從字節(jié)流開(kāi)始。主要包含以下內(nèi)容:
- InputStream/OutPutStream - - -字節(jié)流基類(lèi)
- FileInputStream/FileOutputStream - - - - -處理文件類(lèi)型
- ByteArrayInputStream/ByteArrayOutputStream - - - -字節(jié)數(shù)組類(lèi)型
- DataInputStream/DataOutputStream - - - -裝飾類(lèi)
- BufferedInputStream/BufferedOutputStream - - - -緩沖流
在java基礎(chǔ)學(xué)習(xí)中特別是io學(xué)習(xí)中字節(jié)流是非常重要的,這里一起探討下,主要是了解下面幾點(diǎn):
- 1、了解流的概念
- 2、了解字符流的作用
- 3、了解文件的標(biāo)準(zhǔn)操作步驟
- 4、了解字節(jié)與字符的操作區(qū)別
第一步
在程序中所有的數(shù)據(jù)都是以流的方式存儲(chǔ)或傳輸?shù)?,程序需要?shù)據(jù)時(shí)使用流讀取數(shù)據(jù),程序需要將一些數(shù)據(jù)保存的時(shí)候使用輸出流保存
第二步
程序中實(shí)際上輸入輸出都是以流的形式保存的,流中保存的實(shí)際上全是字節(jié)文件
第三步
java.io包中操作文件的內(nèi)容主要有兩大類(lèi),字節(jié)流字符流,兩部分都包括輸入輸出操作,字節(jié)流主要使用OutputStream InputStream,字符流使用Wirter、Reader完成
第四步
javaIO中文件操作有相應(yīng)的步驟:
1、使用File類(lèi)打開(kāi)一個(gè)文件
2、通過(guò)字節(jié)流或字符流指定輸出位置
3、進(jìn)行讀寫(xiě)操作
4、關(guān)閉輸入輸出
第五步
字節(jié)流主要操作的是byte類(lèi)型數(shù)據(jù),以byte數(shù)組為準(zhǔn),主要操作類(lèi)是InputStream、OutputStream
,OutputStream是Io包中輸出流最大父類(lèi),此類(lèi)是抽象類(lèi),如果想要使用此類(lèi),必須通過(guò)子類(lèi)實(shí)現(xiàn),比如FileOutputStream
第六步
InputStream是字節(jié)輸入流,可以通過(guò)這個(gè)類(lèi)把文件的內(nèi)容讀取進(jìn)來(lái),inputStream也是抽象類(lèi),如果想使用此類(lèi)必須用子類(lèi)實(shí)現(xiàn),比如FileInputStream
相關(guān)文章
Java設(shè)計(jì)模式之工廠模式分析【簡(jiǎn)單工廠、工廠方法、抽象工廠】
這篇文章主要介紹了Java設(shè)計(jì)模式之工廠模式,結(jié)合實(shí)例形式分析了簡(jiǎn)單工廠、工廠方法、抽象工廠等相關(guān)功能、實(shí)現(xiàn)與使用方法,需要的朋友可以參考下2018-04-04Java使用HashMap映射實(shí)現(xiàn)消費(fèi)抽獎(jiǎng)功能
這篇文章主要為大家詳細(xì)介紹了Java使用HashMap映射實(shí)現(xiàn)消費(fèi)抽獎(jiǎng)功能,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2021-09-09java實(shí)現(xiàn)自定義時(shí)鐘并實(shí)現(xiàn)走時(shí)功能
這篇文章主要為大家詳細(xì)介紹了java實(shí)現(xiàn)自定義時(shí)鐘并實(shí)現(xiàn)走時(shí)功能,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2022-06-06SpringBoot中使用Redisson的實(shí)現(xiàn)示例
Redission是一個(gè)強(qiáng)大的Java庫(kù),用于構(gòu)建和管理分布式系統(tǒng)中的緩存和任務(wù)調(diào)度,本文主要介紹了SpringBoot中使用Redisson的實(shí)現(xiàn)示例,感興趣的可以了解一下2023-12-12基于String不可變字符與StringBuilder可變字符的效率問(wèn)題
這篇文章主要介紹了String不可變字符與StringBuilder可變字符的效率問(wèn)題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2021-07-07java使用influxDB數(shù)據(jù)庫(kù)的詳細(xì)代碼
這篇文章主要為大家介紹了java使用influxDB數(shù)據(jù)庫(kù)的詳細(xì)代碼,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2018-07-07Spring中數(shù)據(jù)訪問(wèn)對(duì)象Data Access Object的介紹
今天小編就為大家分享一篇關(guān)于Spring中數(shù)據(jù)訪問(wèn)對(duì)象Data Access Object的介紹,小編覺(jué)得內(nèi)容挺不錯(cuò)的,現(xiàn)在分享給大家,具有很好的參考價(jià)值,需要的朋友一起跟隨小編來(lái)看看吧2019-01-01