第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號(hào)安全,請(qǐng)及時(shí)綁定郵箱和手機(jī)立即綁定

out.write(buf, 0, b);//這個(gè)b什么意思?寫b個(gè)長度的字節(jié)嗎?但是沒有給b賦值啊

public static void copyFile(File scrFile,File destFile) throws IOException{

if(!scrFile.exists()){

throw new IllegalArgumentException("文件"+scrFile+"不存在");

}

if(!scrFile.isFile()){

throw new IllegalAccessError(scrFile+"不是文件");

? ? ? ?}

FileInputStream in = new FileInputStream(scrFile);

FileOutputStream out = new FileOutputStream(destFile);

byte [] buf = new byte[8*1024];

int b;

while((b=in.read(buf,0,buf.length))!=-1){

out.write(buf, 0, b);//這個(gè)b什么意思?寫b個(gè)長度的字節(jié)嗎?但是沒有給b賦值啊

out.flush(); //通過將所有已緩沖輸出寫入底層流來刷新此流

}

in.close();

out.close();

}


正在回答

2 回答

如果文件很小,你申請(qǐng)的容量8*1024個(gè)byte的數(shù)組就已經(jīng)可以完全裝下,很顯然那么第一次讀就一下把文件讀完了;

如果文件很大,你申請(qǐng)的容量一次讀取裝不完時(shí),那就會(huì)有下一次讀取,直到讀到文件的末尾,此時(shí)返回-1,就跳出循環(huán)了;

read(buf,0,buf.length)意思是一次最多讀取的字節(jié)數(shù)不超過8*1024,即<=8*1024.

看一下這個(gè)方法的官方文檔解釋,你就會(huì)更加明白了.

?????*Reads up to <code>len</code> bytes of data from this input stream

? ? ?* into an array of bytes. If <code>len</code> is not zero, the method

? ? ?* blocks until some input is available; otherwise, no

? ? ?* bytes are read and <code>0</code> is returned.

1 回復(fù) 有任何疑惑可以回復(fù)我~
#1

qq_星塵_8 提問者

非常感謝!
2017-01-05 回復(fù) 有任何疑惑可以回復(fù)我~
#2

qq_星塵_8 提問者

如果裝不完,那么是在下一次裝之前就寫入了已經(jīng)裝滿的一部分嗎,這意思就是分批寫入的吧
2017-01-05 回復(fù) 有任何疑惑可以回復(fù)我~
#3

Manny2011 回復(fù) qq_星塵_8 提問者

對(duì),你申請(qǐng)的數(shù)組就是一個(gè)臨時(shí)的容器,可以重復(fù)使用,實(shí)現(xiàn)分批次寫入到輸出流中.
2017-01-07 回復(fù) 有任何疑惑可以回復(fù)我~
#4

qq_星塵_8 提問者 回復(fù) Manny2011

謝謝你,懂了!
2017-01-07 回復(fù) 有任何疑惑可以回復(fù)我~
查看1條回復(fù)

b=in.read(buf,0,buf.length)就是在給b賦值,返回一個(gè)int 型的數(shù),意思是,read方法從流中一次所讀到的字節(jié)數(shù).

0 回復(fù) 有任何疑惑可以回復(fù)我~
#1

qq_星塵_8 提問者

那b用read方法一次讀取多少字節(jié)數(shù)呢?還是說一下就讀取總長度的字節(jié)了
2017-01-05 回復(fù) 有任何疑惑可以回復(fù)我~
#2

qq_星塵_8 提問者

是不是讀取的長度為開辟的緩沖流大小,如果小了就一下讀完,如果大了就先讀滿,再讀一次,直到讀完?
2017-01-05 回復(fù) 有任何疑惑可以回復(fù)我~

舉報(bào)

0/150
提交
取消

out.write(buf, 0, b);//這個(gè)b什么意思?寫b個(gè)長度的字節(jié)嗎?但是沒有給b賦值啊

我要回答 關(guān)注問題
微信客服

購課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動(dòng)學(xué)習(xí)伙伴

公眾號(hào)

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號(hào)