課程
/后端開發(fā)
/Java
/文件傳輸基礎(chǔ)——Java IO流
用Buffer方法?
int c;
while((c=bis.read())!=-1){
bos.write(c);
bos.flush();
}
中是怎么把srcFile中的數(shù)據(jù)寫入到destFile中的?
2016-12-15
源自:文件傳輸基礎(chǔ)——Java IO流 4-5
正在回答
此處的read()方法返回的是一個字節(jié),那為什么定義的是int c 呢?不應(yīng)該是byte c么?有老鐵回答下么?謝謝??!
linhbo
qwertyuioplkjh
你說的c代表一個長度,是FileInputStream中的read()方法,
read(byte[]?b, int?off, int?len) ??????????從此輸入流中將最多 len 個字節(jié)的數(shù)據(jù)讀入一個 byte 數(shù)組中。
此時返回的c是讀入緩沖區(qū)的字節(jié)總數(shù),也就是你指的長度了。
你可以查看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+"次");
qq_noheartnoswe_04385033 提問者
qq_3_16 回復(fù) qq_noheartnoswe_04385033 提問者
c=bis.read()來讀取,bos.write(c)將要寫入的c放入緩沖區(qū),bos.flush()刷新緩沖區(qū),也將c寫入文件中了
舉報
為您介紹IO流的使用,以及對象的序列化和反序列化的內(nèi)容
2 回答read(buffer,0,buffer.length); 和 read(buffer);的問題
3 回答調(diào)用student的tostring()方法
1 回答File類有哪些常用方法
4 回答FileOutputStream中的flush方法的作用?
2 回答關(guān)于ObjectOutPutStream對象oos在調(diào)用writeObject(Student s)方法如何去調(diào)用Student重寫的writeObject(ObjectOutPutStream oos)方法
Copyright ? 2025 imooc.com All Rights Reserved | 京ICP備12003892號-11 京公網(wǎng)安備11010802030151號
購課補貼聯(lián)系客服咨詢優(yōu)惠詳情
慕課網(wǎng)APP您的移動學(xué)習(xí)伙伴
掃描二維碼關(guān)注慕課網(wǎng)微信公眾號
2017-06-21
此處的read()方法返回的是一個字節(jié),那為什么定義的是int c 呢?不應(yīng)該是byte c么?有老鐵回答下么?謝謝??!
2016-12-18
你說的c代表一個長度,是FileInputStream中的read()方法,
read(byte[]?b, int?off, int?len)
??????????從此輸入流中將最多 len 個字節(jié)的數(shù)據(jù)讀入一個 byte 數(shù)組中。
此時返回的c是讀入緩沖區(qū)的字節(jié)總數(shù),也就是你指的長度了。
2016-12-18
你可以查看inputstream的read()方法
read()
??????????從輸入流中讀取數(shù)據(jù)的下一個字節(jié)
c是一個byte
更直觀一點的話,你可以通過打印c并且通過對c被寫入的次數(shù)計數(shù)來看
2016-12-15
c=bis.read()來讀取,bos.write(c)將要寫入的c放入緩沖區(qū),bos.flush()刷新緩沖區(qū),也將c寫入文件中了