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

為了賬號安全,請及時綁定郵箱和手機立即綁定

用Buffer方法

用Buffer方法?

int c;

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

bos.write(c);

bos.flush();

}

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

正在回答

4 回答

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

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

linhbo

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

qwertyuioplkjh

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

你說的c代表一個長度,是FileInputStream中的read()方法,

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

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

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

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

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

c是一個byte

更直觀一點的話,你可以通過打印c并且通過對c被寫入的次數(shù)計數(shù)來看

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三個字符。
2016-12-18 回復(fù) 有任何疑惑可以回復(fù)我~
#3

qq_3_16 回復(fù) qq_noheartnoswe_04385033 提問者

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

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

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

qq_noheartnoswe_04385033 提問者

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

舉報

0/150
提交
取消
微信客服

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

幫助反饋 APP下載

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

公眾號

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