摘要:字節(jié)緩沖輸入流繼承自父類的成員方法從輸入流中讀取數(shù)據(jù)的下一個(gè)字節(jié)。從輸入流中讀取一定數(shù)量的字節(jié),并將其存儲(chǔ)在緩沖區(qū)數(shù)組中。關(guān)閉此輸入流并釋放與該流關(guān)聯(lián)的所有系統(tǒng)資源。創(chuàng)建具有指定緩沖區(qū)大小的并保存其參數(shù),即輸入流,以便將來使用。
package com.itheima.demo01.BufferedStream;
import java.io.BufferedInputStream;
import java.io.FileInputStream;
import java.io.IOException;
/*
java.io.BufferedInputStream extends InputStream BufferedInputStream:字節(jié)緩沖輸入流 繼承自父類的成員方法: int read()從輸入流中讀取數(shù)據(jù)的下一個(gè)字節(jié)。 int read(byte[] b) 從輸入流中讀取一定數(shù)量的字節(jié),并將其存儲(chǔ)在緩沖區(qū)數(shù)組 b 中。 void close() 關(guān)閉此輸入流并釋放與該流關(guān)聯(lián)的所有系統(tǒng)資源。 構(gòu)造方法: BufferedInputStream(InputStream in) 創(chuàng)建一個(gè) BufferedInputStream 并保存其參數(shù),即輸入流 in,以便將來使用。 BufferedInputStream(InputStream in, int size) 創(chuàng)建具有指定緩沖區(qū)大小的 BufferedInputStream 并保存其參數(shù),即輸入流 in,以便將來使用。 參數(shù): InputStream in:字節(jié)輸入流 我們可以傳遞FileInputStream,緩沖流會(huì)給FileInputStream增加一個(gè)緩沖區(qū),提高FileInputStream的讀取效率 int size:指定緩沖流內(nèi)部緩沖區(qū)的大小,不指定默認(rèn) 使用步驟(重點(diǎn)): 1.創(chuàng)建FileInputStream對(duì)象,構(gòu)造方法中綁定要讀取的數(shù)據(jù)源 2.創(chuàng)建BufferedInputStream對(duì)象,構(gòu)造方法中傳遞FileInputStream對(duì)象,提高FileInputStream對(duì)象的讀取效率 3.使用BufferedInputStream對(duì)象中的方法read,讀取文件 4.釋放資源
*/
public class Demo02BufferedInputStream {
public static void main(String[] args) throws IOException { //1.創(chuàng)建FileInputStream對(duì)象,構(gòu)造方法中綁定要讀取的數(shù)據(jù)源 FileInputStream fis = new FileInputStream("10_IOa.txt"); //2.創(chuàng)建BufferedInputStream對(duì)象,構(gòu)造方法中傳遞FileInputStream對(duì)象,提高FileInputStream對(duì)象的讀取效率 BufferedInputStream bis = new BufferedInputStream(fis); //3.使用BufferedInputStream對(duì)象中的方法read,讀取文件 //int read()從輸入流中讀取數(shù)據(jù)的下一個(gè)字節(jié)。 /*int len = 0;//記錄每次讀取到的字節(jié) while((len = bis.read())!=-1){ System.out.println(len); }*/ //int read(byte[] b) 從輸入流中讀取一定數(shù)量的字節(jié),并將其存儲(chǔ)在緩沖區(qū)數(shù)組 b 中。 byte[] bytes =new byte[1024];//存儲(chǔ)每次讀取的數(shù)據(jù) int len = 0; //記錄每次讀取的有效字節(jié)個(gè)數(shù) while((len = bis.read(bytes))!=-1){ System.out.println(new String(bytes,0,len)); } //4.釋放資源 bis.close(); }
}
文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請(qǐng)注明本文地址:http://specialneedsforspecialkids.com/yun/76245.html
摘要:字符轉(zhuǎn)換流原理字節(jié)流編碼表。和作為子類,僅作為操作字符文件的便捷類存在。源目的先根據(jù)需求明確要讀,還是要寫。屏幕網(wǎng)絡(luò)完全可以明確具體要使用哪個(gè)流對(duì)象。明確四是否需要額外功能呢額外功能轉(zhuǎn)換嗎轉(zhuǎn)換流。高效嗎緩沖區(qū)對(duì)象。 01轉(zhuǎn)換流概述 * A: 轉(zhuǎn)換流概述 * a: 轉(zhuǎn)換流概述 * OutputStreamWriter 是字符流通向字節(jié)流的橋梁:可使用指定的字符編碼...
摘要:流按操作類型分為兩種字節(jié)流字節(jié)流可以操作任何數(shù)據(jù)因?yàn)樵谟?jì)算機(jī)中任何數(shù)據(jù)都是以字節(jié)的形式存儲(chǔ)的字符流字符流只能操作純字符數(shù)據(jù),比較方便。 1_IO流概述及其分類 1.概念 IO流用來處理設(shè)備之間的數(shù)據(jù)傳輸 Java對(duì)數(shù)據(jù)的操作是通過流的方式 Java用于操作流的類都在IO包中 流按流向分為兩種:輸入流,輸出流。 流按操作類型分為兩種: 字節(jié)流 : 字節(jié)流可以操作任何數(shù)據(jù),因?yàn)樵?..
摘要:文件復(fù)制練習(xí)一讀一寫明確數(shù)據(jù)源數(shù)據(jù)的目的地文件復(fù)制的步驟創(chuàng)建字節(jié)緩沖輸入流對(duì)象構(gòu)造方法中傳遞字節(jié)輸入流創(chuàng)建字節(jié)緩沖輸出流對(duì)象構(gòu)造方法中傳遞字節(jié)輸出流使用字節(jié)緩沖輸入流對(duì)象中的方法讀取文件使用字節(jié)緩沖輸出流中的方法把讀取的數(shù)據(jù)寫入到內(nèi)部緩沖區(qū) package com.itheima.demo02.CopyFile; import java.io.*; /* 文件復(fù)制練習(xí):一讀一寫 明確...
摘要:摘要本文大多技術(shù)圍繞調(diào)整磁盤文件但是有些內(nèi)容也同樣適合網(wǎng)絡(luò)和窗口輸出。語言采取兩種截然不同的磁盤文件結(jié)構(gòu)。一個(gè)是基于字節(jié)流,另一個(gè)是字符序列。但是在有些情況下軟件高速緩存能被用于加速。串行化串行化以標(biāo)準(zhǔn)格式將任意的數(shù)據(jù)結(jié)構(gòu)轉(zhuǎn)換為字節(jié)流。 摘要 本文大多技術(shù)圍繞調(diào)整磁盤文件 I/O,但是有些內(nèi)容也同樣適合網(wǎng)絡(luò) I/O 和窗口輸出。第一部分技術(shù)討論底層的I/O問題,然后討論諸如壓縮,格式化...
摘要:除非文件用自帶的記事本打開我們能夠讀懂,才采用字符流,否則建議使用字節(jié)流。 第四階段 IO IO流 前言: 前面的學(xué)習(xí)我們只能夠在已有的一定封閉范圍內(nèi)進(jìn)行一些操作,但是這顯然是無趣的,也是不支持我們實(shí)現(xiàn)一些復(fù)雜的需求,所以Java提供IO流這樣一種概念,方便我們對(duì)數(shù)據(jù)進(jìn)行操作 而使用IO流我們可以實(shí)現(xiàn)一些強(qiáng)大的功能,例如針對(duì)文件的移動(dòng)復(fù)制等操作,又或者程序與外部文件之間的數(shù)據(jù)存儲(chǔ)或者讀...
閱讀 1336·2023-04-25 23:47
閱讀 912·2021-11-23 09:51
閱讀 4432·2021-09-26 10:17
閱讀 3706·2021-09-10 11:19
閱讀 3254·2021-09-06 15:10
閱讀 3546·2019-08-30 12:49
閱讀 2421·2019-08-29 13:20
閱讀 1730·2019-08-28 18:14