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

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

用Buffer方法

用Buffer方法?

int c;

while((c=bis.read())!=-1){

bos.write(c);

bos.flush();

}

中是怎么把srcFile中的數(shù)據(jù)寫入到destFile中的?

正在回答

4 回答

此處的read()方法返回的是一個(gè)字節(jié),那為什么定義的是int c 呢?不應(yīng)該是byte c么?有老鐵回答下么?謝謝??!

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

linhbo

你看一下api,里面分別定義了返回int和byte的方法,兩個(gè)都OK,具體信息自行查看吧
2017-10-19 回復(fù) 有任何疑惑可以回復(fù)我~
#2

qwertyuioplkjh

int比byte更大,相當(dāng)于向上轉(zhuǎn)型
2017-10-21 回復(fù) 有任何疑惑可以回復(fù)我~

你說的c代表一個(gè)長(zhǎng)度,是FileInputStream中的read()方法,

read(byte[]?b, int?off, int?len)
??????????從此輸入流中將最多 len 個(gè)字節(jié)的數(shù)據(jù)讀入一個(gè) byte 數(shù)組中。

此時(shí)返回的c是讀入緩沖區(qū)的字節(jié)總數(shù),也就是你指的長(zhǎng)度了。

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

你可以查看inputstream的read()方法

read()
??????????從輸入流中讀取數(shù)據(jù)的下一個(gè)字節(jié)

c是一個(gè)byte

更直觀一點(diǎn)的話,你可以通過打印c并且通過對(duì)c被寫入的次數(shù)計(jì)數(shù)來(lái)看

int?c;
		int?count=0;
		while((c?=?bis.read())!=?-1){
			System.out.println(c);
			count++;
			bos.write(c);
			bos.flush();
		}
		System.out.println("c被寫入了"+count+"次");


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

qq_noheartnoswe_04385033 提問者

剛查了,,,1次。
2016-12-18 回復(fù) 有任何疑惑可以回復(fù)我~
#2

qq_3_16 回復(fù) qq_noheartnoswe_04385033 提問者

49 50 51 c被寫入了3次 這是我的執(zhí)行結(jié)果,srcfile中只有abc三個(gè)字符。
2016-12-18 回復(fù) 有任何疑惑可以回復(fù)我~
#3

qq_3_16 回復(fù) qq_noheartnoswe_04385033 提問者

檢查一下你的main函數(shù)吧
2016-12-18 回復(fù) 有任何疑惑可以回復(fù)我~

c=bis.read()來(lái)讀取,bos.write(c)將要寫入的c放入緩沖區(qū),bos.flush()刷新緩沖區(qū),也將c寫入文件中了

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

qq_noheartnoswe_04385033 提問者

c不是代表的一個(gè)int是一個(gè)長(zhǎng)度嗎?
2016-12-18 回復(fù) 有任何疑惑可以回復(fù)我~

舉報(bào)

0/150
提交
取消
微信客服

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

幫助反饋 APP下載

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

公眾號(hào)

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