zoukankan      html  css  js  c++  java
  • I/O字节流

    下面代码对比:一次读取一个字节和一次读取一个数组及应用缓冲流耗时对比

        /*
        * 复制大文件速率对比
        * */
        //耗时:很大,一分钟以上
        public static void copy1() throws IOException {
            String path="E:\Java\00_0\0.avi";
            String path1="E:\Java\00_0\01.avi";
            FileInputStream fis=new FileInputStream(path);
    
            FileOutputStream fos=new FileOutputStream(path1);
    
            int read;
            while ((read=fis.read())!=-1){
                fos.write(read);
            }
    
            fis.close();
            fos.close();
        }
    
        //耗时:556
        public static void copy2() throws IOException {
            String path="E:\Java\00_0\0.avi";
            String path1="E:\Java\00_0\02.avi";
            FileInputStream fis=new FileInputStream(path);
    
            FileOutputStream fos=new FileOutputStream(path1);
    
            byte[] arr=new byte[1024];
            int len;
            while ((len=fis.read(arr))!=-1){
                fos.write(arr,0,len);
            }
    
            fis.close();
            fos.close();
        }
    
    
        //耗时:2541
        public static void copy3() throws IOException {
            String path="E:\Java\00_0\0.avi";
            String path1="E:\Java\00_0\03.avi";
            BufferedInputStream fis=new BufferedInputStream(new FileInputStream(path));
    
            BufferedOutputStream fos=new BufferedOutputStream(new FileOutputStream(path1));
    
            int read;
            while ((read=fis.read())!=-1){
                fos.write(read);
            }
    
            fis.close();
            fos.close();
        }
    
        //耗时:171
        public static void copy4() throws IOException {
            String path="E:\Java\00_0\0.avi";
            String path1="E:\Java\00_0\04.avi";
            BufferedInputStream fis=new BufferedInputStream(new FileInputStream(path));
    
            BufferedOutputStream fos=new BufferedOutputStream(new FileOutputStream(path1));
    
            byte[] arr=new byte[1024];
            int len;
            while ((len=fis.read(arr))!=-1){
                fos.write(arr,0,len);
            }
    
            fis.close();
            fos.close();
        }
  • 相关阅读:
    中文繁体简体互换试验
    msSQL2005数据库备份
    C#实现Base64编码与解码
    C#中正则表达式的高级应用
    滚动条样式锦集
    远程MSMQ
    Silverlight+WCF 新手实例 象棋 主界面事件区求和认输(三十二)
    MSSQL 2005 数据库变成可疑状态
    CYQ.Data 轻量数据层之路 华丽升级 V1.3出世(五)
    CYQ.Data 轻量数据层之路 终极升级(二)
  • 原文地址:https://www.cnblogs.com/zhuyapeng/p/13819710.html
Copyright © 2011-2022 走看看