[quote=引用 3 楼 qybao 的回复:] 因为你每次只是从文件流读入1024个字节(并不是一次性读取完),然后做完相应的处理后再继续从文件流读入1024个字节,如此循环,直到文件流没有数据。 如果你想一次性读入文件全部信息,那么buff的长度就不是1024,而是改成文件的真实长度,比如 RandomAccessFile rf = new RandomAccessFile("xxx\\yyy.mp3", “r”); int len = (int)rf.length(); //获取文件的长度 byte []buff = new buff[len]; //申请文件长度的字节缓存 rf.readFully(b, 0, len); //一次性读入全部内容, 这样就不用一次一次循环读取文件流了
因为你每次只是从文件流读入1024个字节(并不是一次性读取完),然后做完相应的处理后再继续从文件流读入1024个字节,如此循环,直到文件流没有数据。 如果你想一次性读入文件全部信息,那么buff的长度就不是1024,而是改成文件的真实长度,比如 RandomAccessFile rf = new RandomAccessFile("xxx\\yyy.mp3", “r”); int len = (int)rf.length(); //获取文件的长度 byte []buff = new buff[len]; //申请文件长度的字节缓存 rf.readFully(b, 0, len); //一次性读入全部内容, 这样就不用一次一次循环读取文件流了
62,621
社区成员
307,251
社区内容
加载中
试试用AI创作助手写篇文章吧