課程
/后端開發(fā)
/Java
/文件傳輸基礎(chǔ)——Java IO流
數(shù)組建的只有[8*20]這么點大,為什么能讀幾兆的MP3文件?想不通
2014-11-26
源自:文件傳輸基礎(chǔ)——Java IO流 4-2
正在回答
不是一次性都讀取到buf數(shù)組中,看下面的代碼第5行,通過read方法讀到buf數(shù)組中,buf數(shù)組滿了就進行處理(轉(zhuǎn)換成16進制顯示),然后再接著讀,直到讀到文件末尾為止。
FileInputStream in = new FileInputStream("e:\javaio\1.mp3");
byte[] buf = new byte[8 * 1024];
?int bytes = 0;
?int j = 1;
?while((bytes = in.read(buf,0,buf.length))!=-1){
?for(int i = 0 ; i < bytes;i++){
?System.out.print(Integer.toHexString(buf[i] & 0xff)+" ?");
?if(j++%10==0){
?System.out.println();
?}
?in.close();
Lemuria 提問者
MoreClass
我明白了,這里是一串一串的讀文件,thank!
這里bytes不用重置為0么?
舉報
為您介紹IO流的使用,以及對象的序列化和反序列化的內(nèi)容
7 回答建的數(shù)組是[8*1024]這么大,會不會文件太大,放不進去?
1 回答為什么不設(shè)定一個數(shù)組大小剛好的來讀取文件呢?
1 回答數(shù)組方式讀取的時候為什么是8*1024
4 回答老師這里創(chuàng)建字節(jié)數(shù)組循環(huán)讀取大文件是不是有bug呢?
1 回答用數(shù)組讀文件的問題
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)微信公眾號
2014-11-26
不是一次性都讀取到buf數(shù)組中,看下面的代碼第5行,通過read方法讀到buf數(shù)組中,buf數(shù)組滿了就進行處理(轉(zhuǎn)換成16進制顯示),然后再接著讀,直到讀到文件末尾為止。
FileInputStream in = new FileInputStream("e:\javaio\1.mp3");
byte[] buf = new byte[8 * 1024];
?int bytes = 0;
?int j = 1;
?while((bytes = in.read(buf,0,buf.length))!=-1){
?for(int i = 0 ; i < bytes;i++){
?System.out.print(Integer.toHexString(buf[i] & 0xff)+" ?");
?if(j++%10==0){
?System.out.println();
?}
?}
?}
?in.close();
2015-08-24
我明白了,這里是一串一串的讀文件,thank!
2015-04-17
這里bytes不用重置為0么?