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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© panbingqi 中级黑马   /  2015-4-22 21:18  /  292 人查看  /  0 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

/*
* 复制视频
*                 4种方式                                        共耗时
*                 基本的字节流,一次一个字节                        共耗时:229657       
*                 基本的字节流,一次一个字节数组                           共耗时:       431
*                 高效的字节流,一次一个字节                          共耗时:1723
*                 高效的字节流,一次一个字节数组                共耗时:31
*/
public class Demo {
public static void main(String[] args) throws IOException {
        long start =System.currentTimeMillis();
        method1("test.avi","copyAVi1.avi");
        method2("test.avi","copyAVi1.avi");
        method3("test.avi","copyAVi1.avi");
        method4("test.avi","copyAVi1.avi");
       
        long end=System.currentTimeMillis();
        System.out.println("共耗时:" +(end-start));
}
//高效的字节流,一次一个字节数组
public static void method4(String str, String des) throws IOException {
        BufferedInputStream bos =new BufferedInputStream(new FileInputStream(str));
        BufferedOutputStream bis =new BufferedOutputStream(new FileOutputStream(des));
        byte[] buffer=new byte[1024];
        int len=-1;
        while((len=bos.read(buffer))!=-1){
                bis.write(len);
        }
        bos.close();
        bis.close();
       
}
//高效的字节流,一次一个字节       
private static void method3(String str, String des) throws IOException {
        BufferedInputStream bis=new BufferedInputStream(new FileInputStream(str));
        BufferedOutputStream bos=new BufferedOutputStream(new FileOutputStream(des));
        int ch=-1;
        while((ch=bis.read())!=-1){
                bos.write(ch);
        }
        bis.close();
        bos.close();
}


       

//基本的字节流,一次一个字节数组         
public static void method2(String str, String des) throws IOException  {
         //数据源
         FileInputStream fis=new FileInputStream(str);
         //目的地
         FileOutputStream fos=new FileOutputStream(des);
       
         byte[]buffer =new byte[1024];
         //读数据
         int len=-1;
         while((len=fis.read(buffer))!=-1){
                 //写数据
                 fos.write(len);
         }
         //关闭
         fis.close();
         fos.close();
}


//基本的字节流,一次一个字节       
public static void method1(String str, String des) throws IOException {
        //数据源
        FileInputStream fis=new FileInputStream(str);
        //目的地
        FileOutputStream fos=new FileOutputStream(des);
        //读数据
        int ch=-1;
        while((ch=fis.read())!=-1){
                //写数据
                fos.write(ch);
        }
        //关闭
        fis.close();
        fos.close();
}
}

0 个回复

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