zoukankan      html  css  js  c++  java
  • 字节流复制文件和字节缓冲流复制文件的时间比较

    package cn.lijun.demo2;
    
    import java.io.BufferedInputStream;
    import java.io.BufferedOutputStream;
    import java.io.File;
    import java.io.FileInputStream;
    import java.io.FileNotFoundException;
    import java.io.FileOutputStream;
    
    public class Copy {
        public static void main(String[] args) throws Exception {
            long start=System.currentTimeMillis();
            copy2(new File("d:\d.mp4"),new File("c:\d.mp4"));
            long end=System.currentTimeMillis();
            System.out.println(end-start);
        }
        //字节流读取单个字节
        public static void copy1(File src,File desc) throws Exception{
            FileInputStream fis=new FileInputStream(src);
            FileOutputStream fos=new FileOutputStream(desc);
            int len=0;
            while((len=fis.read())!=-1){
                fos.write(len);
            }
            fos.close();
            fis.close();
            
        }
        //字节流读写字节数组  5451
        public static void copy2(File src,File desc) throws Exception{
            FileInputStream fis=new FileInputStream(src);
            FileOutputStream fos=new FileOutputStream(desc);
            
            byte[] b=new byte[1024];
            int len=0;
            while((len=fis.read(b))!=-1){
                fos.write(b,0,len);
            }
            fos.close();
            fis.close();
            
        }
        //字节流缓冲区 读写单个字节       21208ms
        public static void copy3(File src,File desc) throws Exception{
            BufferedInputStream bis=new BufferedInputStream(new FileInputStream(src));
            BufferedOutputStream bos=new BufferedOutputStream(new FileOutputStream(desc));
            
            int len=0;
            while((len=bis.read())!=-1){
                bos.write(len);
            }
            bos.close();
            bis.close();
        }
        //字节流缓冲区读写字节数组  5415ms
        public static void copy4(File src,File desc) throws Exception{
            BufferedInputStream bis=new BufferedInputStream(new FileInputStream(src));
            BufferedOutputStream bop=new BufferedOutputStream(new FileOutputStream(desc));
            int len=0;
            byte[] b=new byte[1024];
            while ((len=bis.read(b))!=-1){
                bop.write(b,0,len);
            }
            bop.close();
            bis.close();
        }
    
    }
  • 相关阅读:
    『转载』优秀ASP.NET程序员的修炼之路
    [转]给年轻工程师的十大忠告
    [转]谈谈技术原则,技术学习方法,代码阅读及其它
    【转贴】你必须知道的20个故事
    谈谈建站心得(转载)[精华]
    HTTP和SOAP完全就是两个不同的协议
    数据集的理解IDataset
    学习在 ArcEngine 中使用 Geoprocessing
    程序执行过程
    How to Run a Geoprocessing Tool
  • 原文地址:https://www.cnblogs.com/qurui1998/p/10602793.html
Copyright © 2011-2022 走看看