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

java基礎(chǔ)入門(mén)之IO流

 更新時(shí)間:2021年06月16日 16:49:27   作者:scanner小霸王  
流是一種抽象概念,它代表了數(shù)據(jù)的無(wú)結(jié)構(gòu)化傳遞。。用來(lái)進(jìn)行輸入輸出操作的流就稱為IO流。換句話說(shuō),IO流就是以流的方式進(jìn)行輸入輸出

io學(xué)習(xí)框架:

在這里插入圖片描述

文件:

保存數(shù)據(jù)的地方。

在這里插入圖片描述

1)常見(jiàn)文件對(duì)象的相關(guān)構(gòu)造器和方法:

在這里插入圖片描述

當(dāng)進(jìn)行File file = new File(filePath);只是在內(nèi)存上有一個(gè)文件對(duì)象;

只有file.createNewFile();才會(huì)在磁盤(pán)創(chuàng)建文件

在這里插入圖片描述

獲取文件的相關(guān)信息:

utf8中,一個(gè)漢字是三個(gè)字節(jié),所以當(dāng)用字節(jié)流的read()方法一個(gè)字節(jié)一個(gè)字節(jié)的讀取的時(shí)候,將會(huì)出現(xiàn)亂碼的情況

在這里插入圖片描述

2)目錄的刪除和增加:

a)用來(lái)刪除文件或者文件夾

在這里插入圖片描述

b)文件夾的創(chuàng)建:

在這里插入圖片描述

Io流的原理:

在這里插入圖片描述

流的分類:

字節(jié)流適用于聲音等文件的傳輸,因?yàn)樽止?jié)流是一個(gè)字節(jié)一個(gè)字節(jié)的讀取,可以保證無(wú)損;

字符流雖然讀取的效率高些,但更適用于文本的讀?。?br />

注意:inpuStream,OutputStream,Reader,Writer全是抽象類,創(chuàng)建對(duì)象時(shí)候要實(shí)現(xiàn)他們的子類即可。

在這里插入圖片描述

1)InputSream輸入流:

在這里插入圖片描述

在這里插入圖片描述

字節(jié)輸入流:文件–》程序

a)fileInputStream.read()一個(gè)一個(gè)字節(jié)讀取

(注意:輸出的時(shí)候不能像如圖框選的那樣輸出,因?yàn)閞ead()讀取的是下一個(gè)字符了)

在這里插入圖片描述

b)改進(jìn),使用fileInputStream.read(buffer)

在這里插入圖片描述

2)OutputStream

在這里插入圖片描述

注意:如果使用OutputStream寫(xiě)入數(shù)據(jù)時(shí)候,文件不存在將自動(dòng)進(jìn)行文件的創(chuàng)建;

以下是寫(xiě)入數(shù)據(jù)的幾種方式,

當(dāng)使用紅框的語(yǔ)句的時(shí)候,寫(xiě)入數(shù)據(jù)會(huì)追加在文件中;

否則,將覆蓋文件的內(nèi)容

在這里插入圖片描述

完成文件的拷貝:(需要輸入流和輸出流的綜合應(yīng)用)

在這里插入圖片描述

3)FileReader:

在這里插入圖片描述

在這里插入圖片描述

1)FileReader的使用:

在這里插入圖片描述

4) FileWriter:

在這里插入圖片描述

使用filewriter后,必須關(guān)閉(close)或者刷新(flush),否則寫(xiě)入不到指定文件

在這里插入圖片描述

a)FileWriter的使用:

使用filewriter后,必須關(guān)閉(close)或者刷新(flush),否則寫(xiě)入不到指定文件

close()相當(dāng)于flush()+關(guān)閉

在這里插入圖片描述

節(jié)點(diǎn)流和處理流:

1)節(jié)點(diǎn)流:直接讀取數(shù)據(jù)源的流

在這里插入圖片描述

在這里插入圖片描述

在這里插入圖片描述

2)處理流:對(duì)節(jié)點(diǎn)流進(jìn)行包裝

在這里插入圖片描述

例如BufferReader:

readLine()是按行讀?。?br />

當(dāng)返回null時(shí)候,表示文件讀取完畢;

關(guān)閉流的時(shí)候,這里只需要關(guān)閉BufferReader,因?yàn)榈讓訒?huì)自動(dòng)去關(guān)閉節(jié)點(diǎn)流;

在這里插入圖片描述

BufferWriter:

注意:如果需要追加在文件的話,是在節(jié)點(diǎn)流進(jìn)行設(shè)置;

newLine()插入一個(gè)換行符

在這里插入圖片描述

兩者的區(qū)別與聯(lián)系:

在這里插入圖片描述

BufferReader和BufferWriter實(shí)現(xiàn)文件拷貝:

注意:BufferReader和BufferWriter是安裝字符操作;

不要操作二進(jìn)制文件(聲音,視頻,doc,pdf,等等),可能會(huì)造成文件損壞

在這里插入圖片描述

處理字節(jié)的處理流:

BufferedOutputStream和BufferedInputStream實(shí)現(xiàn)拷貝圖片:

在這里插入圖片描述

當(dāng)然,除此之外,BufferedOutputStream和BufferedInputStream也可以實(shí)現(xiàn)文本的拷貝;

對(duì)象處理流:專門(mén)處理對(duì)象的流,專門(mén)把對(duì)象保存到文件中,并且能夠從文件中恢復(fù);

序列化:就是保存數(shù)據(jù)的時(shí)候,保存數(shù)據(jù)的值和數(shù)據(jù)類型;

標(biāo)記接口:沒(méi)有任何方法

在這里插入圖片描述

1)ObjectInputStream:(也是包裝流)

在這里插入圖片描述

示例:

在這里插入圖片描述

2)ObjectOutputStream:

在這里插入圖片描述

示例:

序列化之后,保存的文件格式,不是純文本,而是按照他的格式來(lái)存儲(chǔ)

在這里插入圖片描述

當(dāng)反序列化的時(shí)候需要用到getName();toString()等方法的時(shí)候,序列化也要一并把這些方法存儲(chǔ)進(jìn)行;

在這里插入圖片描述

對(duì)象流注意事項(xiàng):

在這里插入圖片描述

標(biāo)準(zhǔn)輸入和輸出:

標(biāo)準(zhǔn)輸入,從鍵盤(pán)是獲取:Scanner scanner = new Sanner(System.in);

在這里插入圖片描述

轉(zhuǎn)換流:

InputStreamReader:字節(jié)流轉(zhuǎn)化(包裝)為字符流;

在這里插入圖片描述

在這里插入圖片描述

1)**OutputStreamReader:**字節(jié)流轉(zhuǎn)化(包裝)為字符流;

在這里插入圖片描述

在這里插入圖片描述

在這里插入圖片描述

打印流:

(只有輸出流,沒(méi)有輸入流)

PrintStream和PrintWriter(可以把信息打印到文件里面)

1)PrintStream

在這里插入圖片描述

在這里插入圖片描述

在這里插入圖片描述

2)PrintWriter

在這里插入圖片描述

PrintWriter可以傳入一個(gè)輸出流,這里System.out是標(biāo)準(zhǔn)輸出

在這里插入圖片描述

Properties類:

1)傳統(tǒng)的處理方法(使用處理流加載配置文件),不方便:

在這里插入圖片描述

2)Properties方式:

在這里插入圖片描述

在這里插入圖片描述

總結(jié)

這篇文章就到這里了,希望大家能夠喜歡,也希望大家能夠多多關(guān)注腳本之家其他文章!

相關(guān)文章

最新評(píng)論

安国市| 汾阳市| 绿春县| 鄱阳县| 锡林郭勒盟| 攀枝花市| 舟曲县| 栾川县| 栾川县| 吉木乃县| 镇平县| 台湾省| 响水县| 攀枝花市| 桐乡市| 紫金县| 木里| 营口市| 扶余县| 开阳县| 中西区| 黄龙县| 宁蒗| 抚松县| 济宁市| 股票| 潍坊市| 绩溪县| 会昌县| 九江市| 施秉县| 简阳市| 濉溪县| 九台市| 永康市| 博野县| 都昌县| 永川市| 将乐县| 慈利县| 尚志市|