zoukankan      html  css  js  c++  java
  • 字节流的三种操作方法效率对比

    public class IOStream {
    public static void main(String[] args) throws IOException {
    //目标文件大小:43.9M
    Original ();//使用自建缓冲区方式复制文件耗时148毫秒
    Buff (); //使用包装流复制文件耗时2727毫秒
    Utils ();//使用工具类复制文件耗时104毫秒
    }
    //使用自建缓冲区方式复制文件
    private static void Original() throws IOException {

    File file = new File ("source.mp4");
    InputStream in = new FileInputStream (file);
    OutputStream out = new FileOutputStream ("/Users/Shared/a.mp4");

    long startTime = System.currentTimeMillis ();

    byte[] arr = new byte[8192];
    int len;
    while ((len = in.read (arr) )!= -1){
    out.write (arr);
    }

    long endTime = System.currentTimeMillis ();
    System.out.println (endTime-startTime);

    in.close ();
    out.close ();
    }
    //使用包装流方式复制文件
    private static void Buff() throws IOException {
    File file = new File ("source.mp4");
    InputStream in = new FileInputStream (file);
    BufferedInputStream bfi= new BufferedInputStream (in);
    OutputStream out = new FileOutputStream ("/Users/Shared/b.mp4");
    BufferedOutputStream bfo = new BufferedOutputStream (out);

    long startTime = System.currentTimeMillis ();

    int len;
    while ((len = bfi.read () )!= -1){
    bfo.write (len);
    }

    long endTime = System.currentTimeMillis ();
    System.out.println (endTime-startTime);

    bfi.close ();
    bfo.close ();
    }

    //使用工具包复制文件
    private static void Utils() throws IOException {

    File file1 = new File ("source.mp4");//文件大小:43.9M
    File file2 = new File ("/Users/Shared/c.mp4");

    long startTime = System.currentTimeMillis ();

    FileUtils.copyFile (file1,file2);

    long endTime = System.currentTimeMillis ();
    System.out.println (endTime-startTime);
    }
    }
  • 相关阅读:
    拷贝构造函数与赋值函数的区别
    C++模板(一)
    拷贝构造函数
    memcpy函数
    malloc calloc 和 realloc
    extern关键字
    C中不安全函数
    缓冲区溢出问题
    C++引用
    背包问题专栏(01,完全,多重)
  • 原文地址:https://www.cnblogs.com/gdwkong/p/7794427.html
Copyright © 2011-2022 走看看