黑马程序员技术交流社区

标题: 字节流缓冲区的问题 [打印本页]

作者: 顾传文    时间: 2013-2-27 11:48
标题: 字节流缓冲区的问题
自定义了一个字节流缓冲区,为什么没有拷贝到数据呢?
class Test {
        public static void main(String[] args) throws Exception{
                long beginTime = System.currentTimeMillis();
                MyBufferedInputStream bufips = new MyBufferedInputStream(new FileInputStream("D:\\我的文档\\My Pictures\\large_Psty_82854o204237.jpg"));
                BufferedOutputStream bufops = new BufferedOutputStream(new FileOutputStream("D:\\我的文档\\My Pictures\\copy.jpg"));
                int byt = 0;
                while((byt=bufips.read())!=-1){
                        bufops.write(byt);
                }
                bufips.close();
                bufops.close();
                long endTime = System.currentTimeMillis();
                System.out.println(endTime-beginTime);
        }
}  
class MyBufferedInputStream{
        private InputStream is;
        private byte[] buffer = new byte[1024];
        private int pos = 0,count = 0;
        MyBufferedInputStream(InputStream is){
                this.is = is;
        }
        //一个字节一个字节,从缓冲区(字节数据)获取。
        public int read() throws IOException{
                /*
                 * 通过is对象读取硬盘上的数据,并存储到buffer中。
                 * 当缓冲区数据被读完之后,再从硬盘读取数据。
                 * 当读到文件的末尾返回-1。
                 */
                if(count==0){
                        count = is.read(buffer);
                        //读取到文件的末尾
                        if(count<0){
                                return -1;
                        }
                        pos = 0;
                        byte b = buffer[pos];
                        count --;
                        pos ++;
                        return b;
                }else if(count>0){
                        byte b = buffer[pos];
                        count --;
                        pos ++;
                        return b;
                }
                return -1;
        }
        public void close() throws IOException{
                is.close();
        }
}




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