A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

wls

初级黑马

  • 黑马币:23

  • 帖子:8

  • 精华:0

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();
        }

}


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

0 个回复

您需要登录后才可以回帖 登录 | 加入黑马