java使用基本流和缓冲流操作文件时间对比

简介: java使用基本流和缓冲流操作文件时间对比

目标文件为jdk-11_windows-x64_bin.exe

150 MB (158,293,352 字节)

一、使用基本流测试

import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.IOException;
 
public class demo01 {
    public static void main(String[] args) throws IOException {
        long start=System.currentTimeMillis();
        String str1="D:\\迅雷下载\\jdk-11_windows-x64_bin.exe";
        String str2="D:\\迅雷下载\\jdk-11_windows-x64_bin_01.exe";
        FileInputStream fis = new FileInputStream(str1);
        FileOutputStream fos = new FileOutputStream(str2);
        byte[] bytes = new byte[1024];
        int ten=0;
        while ((ten=fis.read(bytes))!=-1){
            fos.write(bytes,0,ten);
        }
        fos.close();
        fis.close();
        long end=System.currentTimeMillis();
        System.out.println("共耗时"+(end-start));
    }
}

共耗时2300

二、使用缓冲流

import java.io.*;
 
public class demo02 {
    public static void main(String[] args) throws IOException {
        long start=System.currentTimeMillis();
        String str1="D:\\迅雷下载\\jdk-11_windows-x64_bin.exe";
        String str2="D:\\迅雷下载\\jdk-11_windows-x64_bin_02.exe";
        FileInputStream fis = new FileInputStream(str1);
        FileOutputStream fos = new FileOutputStream(str2);
        BufferedInputStream bis = new BufferedInputStream(fis);
        BufferedOutputStream bos = new BufferedOutputStream(fos);
        byte[] bytes = new byte[1024];
        int ten=0;
        while ((ten=bis.read(bytes))!=-1){
            bos.write(bytes,0,ten);
        }
        bos.close();
        bis.close();
        long end=System.currentTimeMillis();
        System.out.println("共耗时"+(end-start));
    }
}

共耗时623

计算机硬件不同,后台执行任务不同,会有差异,可以看出缓冲流速度大大优于基本流!

目录
相关文章
|
3天前
|
XML Java 数据格式
java创建xml文件内容
java创建xml文件内容
9 0
|
3天前
|
XML Java 数据格式
java解析xml文件内容
java解析xml文件内容
10 0
|
2天前
|
IDE Java 编译器
使用Java分割PDF文件
使用Java分割PDF文件
8 1
|
2天前
|
存储 监控 Java
深入探索Java BIO与NIO输入输出模型:基于文件复制和socket通信
深入探索Java BIO与NIO输入输出模型:基于文件复制和socket通信
|
2天前
|
XML Java 定位技术
详尽分享经纬坐标(BLH)数据创建.kml文件小工具设计Java版
详尽分享经纬坐标(BLH)数据创建.kml文件小工具设计Java版
|
3天前
|
Java API 开发者
如何在Java中实现高效的文件读写
如何在Java中实现高效的文件读写
|
3天前
|
Java 机器人 程序员
Java中的文件I/O操作:流、读写和NIO详解
Java中的文件I/O操作:流、读写和NIO详解
|
3天前
|
Java 测试技术 数据库
【单文件版本】java SpringBoot 切换不同的运行环境(生产环境、开发环境、测试环境)SpringBoot配置多个不同运营环境
【单文件版本】java SpringBoot 切换不同的运行环境(生产环境、开发环境、测试环境)SpringBoot配置多个不同运营环境
11 0
|
3天前
|
XML Java 数据格式
java删除xml文件内容
java删除xml文件内容
5 0
|
3天前
|
存储 Java 机器人
如何在Java中实现文件压缩与解压?
如何在Java中实现文件压缩与解压?