问答详情
源自:4-2 字节流之文件输入流FileInputStream-2

数组建的只有[8*20]这么点大,为什么能读几兆的MP3文件?想不通

数组建的只有[8*20]这么点大,为什么能读几兆的MP3文件?想不通

提问者:Lemuria 2014-11-26 16:18

个回答

  • 好帮手慕珊
    2014-11-26 16:49:50
    已采纳

    不是一次性都读取到buf数组中,看下面的代码第5行,通过read方法读到buf数组中,buf数组满了就进行处理(转换成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 01:58:08

    我明白了,这里是一串一串的读文件,thank!


  • 用户javaer
    2015-04-17 20:17:13

    这里bytes不用重置为0么?