這篇文章最多只能算是一點(diǎn)筆記,持續(xù)更新,而且有一些細(xì)枝末節(jié)的地方可能注意不到,僅限于應(yīng)用,會(huì)長(zhǎng)期進(jìn)行更新,還望大佬能指點(diǎn)一二
憑借整站使用H5開發(fā)的創(chuàng)新體驗(yàn)、定制設(shè)計(jì)、設(shè)計(jì)團(tuán)隊(duì)積累與透明式的服務(wù)過程,符合行業(yè)特點(diǎn),專屬顧問根據(jù)企業(yè)產(chǎn)品,消費(fèi)群體屬性,準(zhǔn)確定位;設(shè)計(jì)師以目標(biāo)客戶為中心,以突出品牌官網(wǎng)特性為宗旨,定制專屬網(wǎng)站建設(shè)設(shè)計(jì)方案。這里順便整理一下會(huì)遇到的點(diǎn):
1.關(guān)于read函數(shù),這個(gè)函數(shù)有多個(gè)重載,這里列出兩個(gè)
(1)int n=read();沒有參數(shù),一次讀取一個(gè)字節(jié)or字符,返回的n要么是讀出的東西,要么為-1代表讀不到了
(2)int n=read(byte[] arr);會(huì)把讀入的東西塞進(jìn)數(shù)組里面,返回n為讀出有效數(shù)字的個(gè)數(shù)
2.關(guān)于file流的第二參數(shù)
文件輸出流輸入節(jié)點(diǎn)流,第二個(gè)參數(shù)append,代表是否選擇附加
如果為false,代表的是覆寫
2.關(guān)于流的分類不同的維度有不同的分類方法,比如分成字節(jié)流(一次傳遞8bit)字符流(一次傳遞一個(gè)字符),或者是最常見的分類方法:節(jié)點(diǎn)流和處理流
(1)關(guān)于節(jié)點(diǎn)流: 1.節(jié)點(diǎn)流的基礎(chǔ):四個(gè)基本抽象類字節(jié)流 | 字符流 | |
輸入 | InputStream | Reader |
輸出 | OutputStream | Writer |
這四個(gè)是抽象類,所有流都是從這四個(gè)實(shí)現(xiàn)的,字節(jié)流顧名思義,傳遞的是八個(gè)bit的子杰,字符流傳遞的是字符。其中字節(jié)流可以傳遞一切東西,而非文本文件最好不要用字符流,因?yàn)槿菀自斐勺x出結(jié)果紊亂
2.節(jié)點(diǎn)流的實(shí)體類:其實(shí)是四個(gè)抽象類的具體實(shí)現(xiàn),都已經(jīng)封裝在io這個(gè)包里面了,可以完成最基礎(chǔ)的,對(duì)于載體的讀寫操作
文件操作流 | FileInputStream | FileOutputStream |
文件操作流的具體操作載體就是文件,具體使用方法如下哦
BufferedInputStream b = new BufferedInputStream(new FileInputStream(f));
BufferedOutputStream o=new BufferedOutputStream(new FileOutputStream("src/文件2.jpg",false));
int n=b.read();
while(n!=-1){
o.write(n);
n=b.read();
}
b.close();
o.close();
//文件復(fù)制操作
再舉一個(gè)例子,我們平時(shí)用到的system對(duì)于io的支持,實(shí)際上也是一種載體為鍵盤,控制臺(tái)的字節(jié)輸入流
System也是字節(jié)流 | System.in() | System.out() |
如果說節(jié)點(diǎn)流的具體實(shí)現(xiàn)是確定了何種載體和傳輸格式,
處理流就是對(duì)傳進(jìn)來和傳出去的數(shù)據(jù)形式(比如數(shù)據(jù)類型)進(jìn)行調(diào)整
關(guān)于最常見的緩沖流
輸入 | 輸出 | |
字節(jié) | BufferedInputStream | BufferedOutputStream |
字符 | BufferedReader | BufferedWriter |
作用就是一次讀取大量數(shù)據(jù)(類似緩沖數(shù)組),節(jié)約了很大的效率
還有常見的轉(zhuǎn)換流,在輸入的時(shí)候把字節(jié)流轉(zhuǎn)化為字符流,在輸出的時(shí)候把字符流轉(zhuǎn)化為字節(jié)流
總之讀入的時(shí)候是字節(jié),然后內(nèi)部處理的時(shí)候是個(gè)字符
轉(zhuǎn)換 | InputStreamReader | OutputStreamWriter |
BufferedReader br=new BufferedReader(new InputStreamReader(System.in));
數(shù)據(jù)流,用來傳遞基本數(shù)據(jù)類型和字符串
數(shù)據(jù) | DataInputStream | DataOutputstream |
DataOutputStream dp=new DataOutputStream(new FileOutputStream("src/測(cè)試.txt"));
dp.writeInt(114514);
DataInputStream dp=new DataInputStream(new FileInputStream("src/測(cè)試.txt"));
System.out.println(dp.readInt());
對(duì)象流:用來傳遞對(duì)象,這個(gè)接收的時(shí)候有點(diǎn)麻煩,可能還需要反序列化的知識(shí)在里面
對(duì)象 | ObjectInputStream | ObjectOutputstream |
ObjectOutputStream os=new ObjectOutputStream(new FileOutputStream("src/測(cè)試.txt"));
os.writeObject(new Integer(13));
ObjectInputStream os=new ObjectInputStream(new FileInputStream("src/測(cè)試.txt"));
System.out.println(os.readObject());
你是否還在尋找穩(wěn)定的海外服務(wù)器提供商?創(chuàng)新互聯(lián)www.cdcxhl.cn海外機(jī)房具備T級(jí)流量清洗系統(tǒng)配攻擊溯源,準(zhǔn)確流量調(diào)度確保服務(wù)器高可用性,企業(yè)級(jí)服務(wù)器適合批量采購(gòu),新人活動(dòng)首月15元起,快前往官網(wǎng)查看詳情吧
文章題目:【java】java預(yù)備知識(shí)--流的有關(guān)用法-創(chuàng)新互聯(lián)
轉(zhuǎn)載來于:http://www.rwnh.cn/article12/epgdc.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供做網(wǎng)站、軟件開發(fā)、電子商務(wù)、營(yíng)銷型網(wǎng)站建設(shè)、定制開發(fā)、移動(dòng)網(wǎng)站建設(shè)
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)
猜你還喜歡下面的內(nèi)容