IO流的使用
今天咱們來(lái)說(shuō)一下JAVA中最常用的數(shù)據(jù)處理的流 IO 流,說(shuō)到IO啊,玩DOTA的小伙伴們就有聲音了,一說(shuō)IO就想到了那個(gè)光球,連一句臺(tái)詞也沒(méi)有的一顆球,咳咳,有點(diǎn)跑題了,咱們今天講的并不是那只帶領(lǐng)隊(duì)伍走向勝利的球,咱們今天是要講講JAVA中的這顆球,啊呸。。這個(gè)流。下面來(lái)看一下IO的體系圖:
在這么龐大的體系中我們常用到的就有下圖這幾種
現(xiàn)在來(lái)說(shuō)一下JAVA中IO流的簡(jiǎn)介
流的定義:流是指一連串流動(dòng)的字符,是以先進(jìn)先出方式發(fā)送信息的通道。
按流向分:輸出流:OutputStream和Writer為基類
輸入流:InputStream和Reader為基類
按處理數(shù)據(jù)單元?jiǎng)澐郑鹤止?jié)流:字節(jié)輸入流:InputStream基類
字節(jié)輸出流:OutputStream基類
字符流:字符輸入流:Reader基類
字節(jié)輸出流:Writer基類
(字節(jié)流是 8 位通用字節(jié)流,字符流是16位Unicode字符流)
超類
字節(jié)流: InputStream(讀入流) OutputStream(寫(xiě)出流)
字符流: Reader(字符 讀入流) Writer (字符寫(xiě)出流)
文件操作流
字節(jié)流: FileInputStream ,F(xiàn)ileOutputStream
字符流: FileReader, FileWriter(用法與字節(jié)流基本相同,不寫(xiě))
今天咱們先來(lái)寫(xiě)一個(gè)文件的IO流
//1.指定要讀 的文件目錄及名稱
File file =new File("文件路徑");
//2.創(chuàng)建文件讀入流對(duì)象
FileInputStream fis =new FileInputStream(file);
//3.定義結(jié)束標(biāo)志,可用字節(jié)數(shù)組讀取
int i =0 ;
while((i = fis.read())!=-1){
//i 就是從文件中讀取的字節(jié),讀完后返回-1
}
//4.關(guān)閉流
fis.close();
// 輸出流
//1.指定要寫(xiě)到的文件目錄及名稱
File file =new File("文件路徑");
//2.創(chuàng)建文件輸出流對(duì)象
FileOutputStream fos =new FileOutputStream(file);
//3.定義結(jié)束標(biāo)志
fos.write(要寫(xiě)出的字節(jié)或者字節(jié)數(shù)組);
//4.刷新和關(guān)閉流
fos.flush();
fos.close();
是的你沒(méi)有看錯(cuò),就是這么簡(jiǎn)單。ez,是不是感覺(jué)還沒(méi)學(xué)夠,不要急,請(qǐng)聽(tīng)老夫下回分解,如果還有想要詳細(xì)問(wèn)我的小伙伴可以來(lái)我的群(850353792)里找我,我會(huì)事實(shí)與你探討一下怎么玩IO的技術(shù)的。