最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Java全面解析IO流相關(guān)知識

 更新時(shí)間:2021年08月30日 15:09:20   作者:lnwd___  
這篇文章主要介紹了IO流相關(guān)知識,包括File,字節(jié)流,字符流,特殊操作流(標(biāo)準(zhǔn)輸入流,標(biāo)準(zhǔn)輸出流,對象序列化與反序列化,properties與IO流結(jié)合)相關(guān)知識的總結(jié)

IO流相關(guān)知識(File,字節(jié)流,字符流,特殊操作流(標(biāo)準(zhǔn)輸入流,標(biāo)準(zhǔn)輸出流,對象序列化與反序列化,properties與IO流結(jié)合))相關(guān)知識總結(jié)

前言

流是一種抽象概念,它代表了數(shù)據(jù)的無結(jié)構(gòu)化傳遞。按照流的方式進(jìn)行輸入輸出,數(shù)據(jù)被當(dāng)成無結(jié)構(gòu)的字節(jié)序或字符序列。從流中取得數(shù)據(jù)的操作稱為提取操作,而向流中添加數(shù)據(jù)的操作稱為插入操作。用來進(jìn)行輸入輸出操作的流就稱為IO流。換句話說,IO流就是以流的方式進(jìn)行輸入輸出

一、File

1.File類的概述和構(gòu)造方法

在這里插入圖片描述
在這里插入圖片描述

通過如上的圖相信對文件打的相關(guān)應(yīng)用已經(jīng)有了初步的認(rèn)識,因?yàn)榉庋b的不是真正存在的文件,僅僅是一個(gè)路徑名而已,所以沒有那個(gè)路徑的文件也可以寫,不會報(bào)錯(cuò),將來是把不存在的轉(zhuǎn)換為具體存在的。

2.File類創(chuàng)建功能

在這里插入圖片描述

這里需要注意的是:不能根據(jù)目錄來判斷是創(chuàng)建的文件還是目錄,而是通過調(diào)用的方法來判斷的,路徑那個(gè)只是名字而已,文件和目錄的名字也不能是一樣的

3.File類判斷和獲取功能

在這里插入圖片描述

4.File類刪除功能

在這里插入圖片描述

注意:File的相關(guān)操作與字節(jié)流沒有繼承的關(guān)系,所以要刪除文件的話還是的用File的刪除功能才可

二、字節(jié)流

1.IO流的概述和分類

概述

在這里插入圖片描述

分類

在這里插入圖片描述

2.字節(jié)流寫數(shù)據(jù)

在這里插入圖片描述

記得一定要釋放資源

3.字節(jié)流寫數(shù)據(jù)的兩個(gè)小問題

字節(jié)流寫數(shù)據(jù)如何換行

在這里插入圖片描述

不同的操作系統(tǒng)的換行是不一樣的

字節(jié)流寫數(shù)據(jù)如何實(shí)現(xiàn)追加寫入

在這里插入圖片描述

值得注意的是是在文件的后面添加,而原來的數(shù)據(jù)還是有的,所以在用的時(shí)候就要考慮一下是怎樣使用自己的文件的

4.字節(jié)流寫入數(shù)據(jù)假異常處理

在這里插入圖片描述

就是簡單的異常處理而已,如果不使用處理的話就拋出就可以了

5.字節(jié)流讀數(shù)據(jù)(重點(diǎn))

一次讀一個(gè)字節(jié)的數(shù)據(jù)

在這里插入圖片描述

標(biāo)準(zhǔn)的代碼格式就是這樣的

在這里插入圖片描述

一次讀一個(gè)數(shù)組的數(shù)據(jù)

在這里插入圖片描述
在這里插入圖片描述

字節(jié)流讀數(shù)據(jù)其實(shí)很簡單,這里需要注意的是字節(jié)流讀數(shù)據(jù)的話可以有兩種方法,至于使用怎樣的方法就得取決于自己得使用就行了

6.字節(jié)緩沖流

在這里插入圖片描述
在這里插入圖片描述

7.如何選擇怎樣得數(shù)據(jù)讀取呢?

在這里插入圖片描述

從圖中可以看出字節(jié)緩沖流得讀取比基本得字節(jié)讀取要快很多,如果要節(jié)省時(shí)間得話就可以考慮用字節(jié)緩沖流來進(jìn)行字節(jié)流得讀取

三、字符流

1.為什么會出現(xiàn)字符流?

在這里插入圖片描述

所以他的底層操作的實(shí)質(zhì)還是字節(jié)流

編碼表

在這里插入圖片描述

這里需要注意的是用的什么編碼就必須用對應(yīng)的解碼,否則就會出現(xiàn)亂碼的情況

2.字符串中的編碼解碼問題

在這里插入圖片描述
在這里插入圖片描述

3.如何實(shí)現(xiàn)解決編譯解碼的問題

在這里插入圖片描述

其實(shí)寫的時(shí)候是寫在了緩沖區(qū),并沒寫在文件里,可以刷新,也可以關(guān)閉流它會自動的刷新

代碼理解

在這里插入圖片描述

4.字符流寫數(shù)據(jù)的方法

在這里插入圖片描述

在這里插入圖片描述

5.字符流讀數(shù)據(jù)的方法

在這里插入圖片描述

在這里插入圖片描述

字節(jié)流與字符流的讀數(shù)據(jù)的思想是一樣的只不過一個(gè)是字符,一個(gè)是字節(jié)而已

6.字符流復(fù)制文件

其方法和字節(jié)流的方法一樣,只是一個(gè)是字節(jié)一個(gè)是字符而已
方法一:一個(gè)一個(gè)的字符進(jìn)行的復(fù)制
方法二:一個(gè)字符數(shù)組一個(gè)字符數(shù)組的復(fù)制

準(zhǔn)換流
OutputStreamWriter 他又一個(gè)子類是:FileWriter
InputStreamReader 它有一個(gè)子類是: FileReader
我們在復(fù)制文件等相關(guān)操作的時(shí)候可以用他的子類進(jìn)行操作,書寫更加的簡單,但是,在進(jìn)行編碼問題解決的時(shí)候還是得用轉(zhuǎn)換流才可以

7.字符緩沖流

在這里插入圖片描述
在這里插入圖片描述

字符緩沖流的特有功能

在這里插入圖片描述

那么可以做什么呢?
我們可以通過其中特有的功能進(jìn)行文件的復(fù)制等
需要注意的是readline只是讀的是內(nèi)容,不讀其他的

8.字節(jié),字符流小結(jié)

(此時(shí)有個(gè)使用的問題就是用哪兒文件的讀取就寫哪兒,寫在一起容易出問題,還有就是一定要釋放資源)
字節(jié)流

在這里插入圖片描述

字符流

在這里插入圖片描述

關(guān)于亂碼的問題
個(gè)人認(rèn)為出現(xiàn)亂碼是因?yàn)槿绻玫氖亲止?jié)流的話用char來強(qiáng)制轉(zhuǎn)換顯示的話就是只有其中的一部分并沒有把一個(gè)漢字的那個(gè)文字表達(dá)組如(【-1,23,36】)表達(dá)完整,但是如果用new String()來顯示的話會表達(dá)完整(可能是里面有相應(yīng)的方法,具體不清楚,知道就行了),如果用的是字符流的話就是用的默認(rèn)的編碼以及你相應(yīng)要求的編碼來表達(dá),所以就不會出現(xiàn)亂碼的問題了

9.復(fù)制文件的異常處理

在這里插入圖片描述

在這里插入圖片描述

四、特殊操作流

1.標(biāo)準(zhǔn)輸入流

在這里插入圖片描述

在這里插入圖片描述

2.標(biāo)準(zhǔn)輸出流

在這里插入圖片描述
在這里插入圖片描述

3.打印流

字節(jié)打印流

在這里插入圖片描述
在這里插入圖片描述

字符打印流

在這里插入圖片描述
在這里插入圖片描述

4.對象序列化流與對象反序列化流(它是基于字節(jié)流上的)

對象序列化流

在這里插入圖片描述
在這里插入圖片描述

對象反序列化流

在這里插入圖片描述

在這里插入圖片描述

5.解決對象序列化流的三個(gè)問題

在這里插入圖片描述
在這里插入圖片描述

6.Properties

在這里插入圖片描述

代碼理解(properties作為map集合的使用)

在這里插入圖片描述

properties作為集合特有的方法

在這里插入圖片描述

第一個(gè)是寫數(shù)據(jù)進(jìn)入集合
第二個(gè)是根據(jù)鍵得到值
第三個(gè)是得到鍵得集合

在這里插入圖片描述

Properties和IO流結(jié)合的方法

集合數(shù)據(jù)寫到文件

在這里插入圖片描述

文件寫到集合

在這里插入圖片描述

總結(jié)

IO流其實(shí)很簡單,重點(diǎn)是要掌握其中的字節(jié)流讀寫方法,以及字符流的讀寫方法和Properties與IO流結(jié)合的進(jìn)行使用。

到此這篇關(guān)于Java全面解析IO流相關(guān)知識的文章就介紹到這了,更多相關(guān)Java IO流內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • Java SQL注入案例教程及html基礎(chǔ)入門

    Java SQL注入案例教程及html基礎(chǔ)入門

    這篇文章主要介紹了前端開發(fā)每天必學(xué)之SQL及HTML入門基礎(chǔ)知識,介紹了學(xué)習(xí)web前端開發(fā)需要掌握的基礎(chǔ)技術(shù),感興趣的小伙伴們可以參考一下
    2021-07-07
  • Java實(shí)現(xiàn)表單提交(支持多文件同時(shí)上傳)

    Java實(shí)現(xiàn)表單提交(支持多文件同時(shí)上傳)

    本文介紹了Java、Android實(shí)現(xiàn)表單提交(支持多文件同時(shí)上傳)的方法,具有一定的參考價(jià)值,下面跟著小編一起來看下吧
    2017-01-01
  • Java RabbitMQ的三種Exchange模式

    Java RabbitMQ的三種Exchange模式

    這篇文章主要介紹了Java RabbitMQ的三種Exchange模式,分別為Direct模式、Fanout模式、Topic模式,Rabbit的Direct Exchange模式是指消息發(fā)送導(dǎo)RouteKey中指定的Queue,Direct模式可以使用Rabbit自帶的Exchange
    2022-08-08
  • Java中static關(guān)鍵字的作用和用法詳細(xì)介紹

    Java中static關(guān)鍵字的作用和用法詳細(xì)介紹

    這篇文章主要介紹了Java中static關(guān)鍵字的作用和用法詳細(xì)介紹,本文講解了static變量、靜態(tài)方法、static代碼塊、static和final一塊用等內(nèi)容,需要的朋友可以參考下
    2015-01-01
  • 實(shí)例分析java開啟線程的方法

    實(shí)例分析java開啟線程的方法

    在本文里我們通過實(shí)例給大家講解了JAVA開啟線程的方法和相關(guān)知識點(diǎn),需要的朋友們跟著學(xué)習(xí)下。
    2019-03-03
  • 在Java編程中使用正則表達(dá)式的基本方法

    在Java編程中使用正則表達(dá)式的基本方法

    這篇文章主要介紹了在Java編程中使用正則表達(dá)式的基本方法,是Java入門學(xué)習(xí)中的基礎(chǔ)知識,需要的朋友可以參考下
    2015-11-11
  • java之如何定義USB接口

    java之如何定義USB接口

    這篇文章主要介紹了java之如何定義USB接口問題,具有很好的參考價(jià)值,希望對大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2023-05-05
  • Java zookeeper服務(wù)的使用詳解

    Java zookeeper服務(wù)的使用詳解

    ZooKeeper是一個(gè)分布式的,開放源碼的分布式應(yīng)用程序協(xié)調(diào)服務(wù),是Google的Chubby一個(gè)開源的實(shí)現(xiàn),是Hadoop和Hbase的重要組件。它是一個(gè)為分布式應(yīng)用提供一致性服務(wù)的軟件,提供的功能包括:配置維護(hù)、域名服務(wù)、分布式同步、組服務(wù)等
    2022-08-08
  • Win10系統(tǒng)下配置Java環(huán)境變量

    Win10系統(tǒng)下配置Java環(huán)境變量

    今天給大家?guī)淼氖顷P(guān)于Java的相關(guān)知識,文章圍繞著Win10系統(tǒng)下配置Java環(huán)境變量展開,文中有非常詳細(xì)的介紹及圖文示例,需要的朋友可以參考下
    2021-06-06
  • IntelliJ IDEA2019實(shí)現(xiàn)Web項(xiàng)目創(chuàng)建示例

    IntelliJ IDEA2019實(shí)現(xiàn)Web項(xiàng)目創(chuàng)建示例

    這篇文章主要介紹了IntelliJ IDEA2019實(shí)現(xiàn)Web項(xiàng)目創(chuàng)建示例,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2020-04-04

最新評論

大田县| 炎陵县| 清涧县| 株洲市| 阿荣旗| 兴宁市| 丽水市| 灵山县| 长沙县| 纳雍县| 平阳县| 年辖:市辖区| 合肥市| 金山区| 平阳县| 长岛县| 连城县| 青神县| 师宗县| 长寿区| 桂林市| 大同县| 德令哈市| 台湾省| 福海县| 兴山县| 林西县| 榆林市| 即墨市| 石林| 通辽市| 晋宁县| 额济纳旗| 藁城市| 连云港市| 体育| 平邑县| 嵊泗县| 武冈市| 凉城县| 宁德市|