緩衝流的基本知識

2021-09-16 13:10:14 字數 1632 閱讀 2053

擁有加快讀寫速度的功能,檔案輸出流是一次唯讀乙個位元組,緩衝輸出流其實底層是一次讀取一組位元組

fileinputstream fis = new fileinputstream("集體照1.jpg");

fileoutputstream fos = new fileoutputstream("集體照3.jpg");

int d = -1;

long start = system.currenttimemillis();

while((d=fis.read())!=-1)

long end = system.currenttimemillis();

system.out.println("複製完畢,耗時"+(end-start)+"ms");

在用bufferedoutputstream套在fos上面之後

fileinputstream fis = new fileinputstream("集體照1.jpg");

bufferedinputstream bis = new bufferedinputstream(fis);

fileoutputstream fos = new fileoutputstream("集體照3.jpg");

bufferedoutputstream bos = new bufferedoutputstream(fos);

int d = -1;

long start = system.currenttimemillis();

while((d=bis.read())!=-1)

long end = system.currenttimemillis();

system.out.println("複製完畢,耗時"+(end-start)+"ms");

緩衝流的加速功能顯而易見。

但是緩衝流也有個缺點,就是它每次讀寫都是塊讀寫,這樣就可能導致有時候需要讀寫的內容填不滿它的「緩衝區」,但是我們又需要它把未填滿的「緩衝區」寫完,所以這時候就可以呼叫它的flush()方法。

fileoutputstream fos = new fileoutputstream("aaa.txt");

bufferedoutputstream bos = new bufferedoutputstream(fos);

string str = "紅塵多可笑,痴情最無聊";

bos.write(str.getbytes("gbk"));

bos.flush();

//需要有即時性的效果就要呼叫此方法,但是多次呼叫會降低寫的效率

system.out.println("寫出完畢");

bos.close();

flush()方法是要求bos把當前快取區的內容寫出到檔案中,但是多次呼叫會增加實際寫出的次數從而降低寫的效率,所以也要根據實際情況來呼叫。

BI的基本知識

1,什麼是bi bi 即商業智慧型,商業智慧型是一種解決方案,通過抽取歷史資料,進行分析,挖掘,從中提取業務人員 可以理解的的資訊,通過這些資訊,進一步輔助業務人員進行決策 2,bi 的歷史上世紀70到 80年代,市場上出現了分析軟體。但是缺乏計算能力,使用者友好性差。與交易系統的整合困難,甚至手動...

齒輪的基本知識

齒輪是應用非常廣泛的傳動件,用以傳遞動力和運動,並具有改變轉速和轉向的作用。依據兩齒合齒輪軸線在空間的相對位置不同,常見的齒輪傳動可分為下列三種形式 圖9 43 1 圓柱齒輪傳動 有於兩平行之間的傳動。2 圓錐齒輪傳動 用於兩相之間的傳動。3 蝸桿蝸輪傳動 用於兩交叉之間的傳動。齒輪傳動的另一種形式...

磁碟的基本知識

今天主要關心的是磁碟碟片的組成。碟片細分出來就是扇區與柱面。第乙個扇區是很重要的,它記錄了整塊磁碟的兩個重要資訊。1.主引導分割槽 mbr 它可以安裝引導引導程式的地方,446byte。2.分割槽表,記錄整塊硬碟分割槽的狀態。64byte。下面對分割槽表做個簡述啊!在分割槽表所在的64byte容量中...