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

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

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

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

前言

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

一、File

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

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

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

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

在這里插入圖片描述

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

3.File類判斷和獲取功能

在這里插入圖片描述

4.File類刪除功能

在這里插入圖片描述

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

二、字節(jié)流

1.IO流的概述和分類

概述

在這里插入圖片描述

分類

在這里插入圖片描述

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

在這里插入圖片描述

記得一定要釋放資源

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

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

在這里插入圖片描述

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

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

在這里插入圖片描述

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

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

在這里插入圖片描述

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

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

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

在這里插入圖片描述

標準的代碼格式就是這樣的

在這里插入圖片描述

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

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

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

6.字節(jié)緩沖流

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

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

在這里插入圖片描述

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

三、字符流

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

在這里插入圖片描述

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

編碼表

在這里插入圖片描述

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

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

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

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

在這里插入圖片描述

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

代碼理解

在這里插入圖片描述

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

在這里插入圖片描述

在這里插入圖片描述

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

在這里插入圖片描述

在這里插入圖片描述

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

6.字符流復制文件

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

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

7.字符緩沖流

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

字符緩沖流的特有功能

在這里插入圖片描述

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

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

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

在這里插入圖片描述

字符流

在這里插入圖片描述

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

9.復制文件的異常處理

在這里插入圖片描述

在這里插入圖片描述

四、特殊操作流

1.標準輸入流

在這里插入圖片描述

在這里插入圖片描述

2.標準輸出流

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

3.打印流

字節(jié)打印流

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

字符打印流

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

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

對象序列化流

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

對象反序列化流

在這里插入圖片描述

在這里插入圖片描述

5.解決對象序列化流的三個問題

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

6.Properties

在這里插入圖片描述

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

在這里插入圖片描述

properties作為集合特有的方法

在這里插入圖片描述

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

在這里插入圖片描述

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

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

在這里插入圖片描述

文件寫到集合

在這里插入圖片描述

總結(jié)

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

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

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

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

    Java RabbitMQ的三種Exchange模式

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

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

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

    實例分析java開啟線程的方法

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

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

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

    java之如何定義USB接口

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

    Java zookeeper服務的使用詳解

    ZooKeeper是一個分布式的,開放源碼的分布式應用程序協(xié)調(diào)服務,是Google的Chubby一個開源的實現(xiàn),是Hadoop和Hbase的重要組件。它是一個為分布式應用提供一致性服務的軟件,提供的功能包括:配置維護、域名服務、分布式同步、組服務等
    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)境變量展開,文中有非常詳細的介紹及圖文示例,需要的朋友可以參考下
    2021-06-06
  • IntelliJ IDEA2019實現(xiàn)Web項目創(chuàng)建示例

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

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

最新評論

大名县| 澄江县| 临高县| 阿拉善右旗| 江达县| 滨州市| 前郭尔| 化德县| 阿荣旗| 商洛市| 财经| 沙洋县| 宜丰县| 钟祥市| 新平| 巴塘县| 桃源县| 克东县| SHOW| 达州市| 渝中区| 沂水县| 和田市| 桂阳县| 怀仁县| 菏泽市| 大英县| 临夏市| 施甸县| 宕昌县| 定襄县| 仙居县| 武平县| 保康县| 巴东县| 毕节市| 泸水县| 容城县| 涞水县| 海兴县| 河曲县|