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();
        }
    
    }
  • 相关阅读:
    sqlserver用windows方式验证登录踩过的坑
    jdk8对象集合转map集合
    监听程序当前无法识别连接描述符中请求的服务解决方案
    Java上传文件至SFTP服务器
    记一次学习kibaba踩过的坑(Windows环境)
    CSRF跨站请求伪造与XSS跨域脚本攻击讨论
    LVS简单搭建(一)
    LVS+keepalived简单搭建(二)
    JZ2440开发板学习 1. 刚接触开发板, 安装驱动
    用STM32CubeMX创建FreeRTOS项目
  • 原文地址:https://www.cnblogs.com/qurui1998/p/10602793.html
Copyright © 2011-2022 走看看