码迷,mamicode.com
首页 > 其他好文 > 详细

字节流复制mp3文件(带缓冲区)

时间:2014-07-23 12:16:26      阅读:174      评论:0      收藏:0      [点我收藏+]

标签:style   blog   java   color   os   文件   

//自定义的缓冲区

import java.io.*;


class  MyBufferedInputStream
{
    private byte[] buf = new byte[1024];

    private InputStream in;
   
    private int pos = 0, count = 0;

    MyBufferedInputStream(InputStream in){
        this.in = in;
    }
   
    /*
        一次读一个字节,从缓冲区字节数组中读。
    */
    public int myRead(){
        //通过in对象读取硬盘数据,并存储buf中
        if(count == 0){
            count = in.read(buf);
            if(count < 0)
                return -1;
            pos = 0;
            byte b = buf[pos];
            count--;
            pos++;
            return b;
        }else if(count > 0){
            byte b = buf[pos];
            count--;
            pos++;
            return b;
        }
        return -1;
    }

    public void myClose(){
        in.close();
    }
   
}

 

调用缓冲区:

import java.io.*;

class CopyMp3 
{
    public static void main(String[] args) throws Exception 
    {
        long start = System.currentTimeMillis();
        copy_1();
        long end = System.currentTimeMillis();

        System.out.println(end- start);
    }

    //通过字节流的缓冲区完成复制
    public static void copy_2() throws Exception{
        BufferedInputStream bufis = new BufferedInputStream(new FileInputStream("c:\\1.mp3"));

        BufferedOutputStream bufos = new BufferedOutputStream(new FileOutputStream("c:\\2.mp3"));

        int by = 0;

        while((by = bufis.myRead()) != -1){
            bufos.write(by);
        }

        bufos.close();
        bufis.myClose();
    }
}

 

-----------------------

问题:

被复制的文件出现0字节

0000-0001

1111-1110

1111-1111

 

byte:-1 ---> int:-1

他会让前面加1,为了让前面补0,需要&255

 

最低四位&15 

1 1 1 1

最低八位&255

1111   1111

字节流复制mp3文件(带缓冲区),布布扣,bubuko.com

字节流复制mp3文件(带缓冲区)

标签:style   blog   java   color   os   文件   

原文地址:http://www.cnblogs.com/nophy/p/3862246.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!