黑马程序员技术交流社区

标题: 通过自定义字节流对象复制一个MP3文件,文件大小不变,但是不能播放! [打印本页]

作者: wls    时间: 2015-8-21 02:01
标题: 通过自定义字节流对象复制一个MP3文件,文件大小不变,但是不能播放!
import java.io.*;
//包装类。
class MyBufferedInputStream
{       
        private InputStream in;

        private byte[] buf = new byte[1024*4];//定义字节数组。

        private int pos = 0,count = 0;//角标(指针),计数器。

        MyBufferedInputStream(InputStream in)
        {
                this.in = in ;
        }
       
        //自定义read方法。
        public int myRead()throws IOException //调用read方法,要抛出异常                                //一次读一个字节,从缓冲区(字节数组)获取。
        {
               
                if(count==0)//当count为0的时候,取玩了,再开始存。
                {
                        count = in.read(buf); //count记录个数。通过in对象,读取硬盘上的数据,并存储到buf中。       
                        if (count<0)
                                return -1;//所以的取玩了,结束。
               
                       
                        pos = 0;//每次开始取的时候,pos指针归零。
                        byte b = buf[pos]; //指针所指的字节。
                       
                        count--;
                        pos++;
                        return b*255; //int对byte转型
                }
                else if(count>0)//上面取玩第一个,这里接着取。
                {
                        byte b = buf[pos];
                       
                        count--;
                        pos++;
                        return b*0xff; //int对byte转型
                }
                return -1;
        }
        public  void myClose() throws IOException
        {
                in.close();
        }

}


这是写的自定义字节流缓冲区 哪里出错了???




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2