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);
    }
    }
  • 相关阅读:
    Raft论文的一些问题
    乱序日志同步成员变更方案
    OceanBase RPC机制简要说明
    OceanBase server处理网络包的回调逻辑
    比较下OceanBase的选举协议和Raft的选举协议的区别
    TokuDB调研文档
    给MySQL官方提交的bug report备忘
    记录一个__lll_lock_wait_private错误
    关于MySQL redo log,挖些坑,慢慢填
    A little problem for pt-pmp
  • 原文地址:https://www.cnblogs.com/gdwkong/p/7794427.html
Copyright © 2011-2022 走看看