博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
文件下载比较
阅读量:5009 次
发布时间:2019-06-12

本文共 1817 字,大约阅读时间需要 6 分钟。

package demo2;

import java.io.*;
public class Stream{
    //一个字节一个字节的复制,耗时11736毫秒
    public static  void  fun() throws IOException {
        FileInputStream fis = new FileInputStream("C:\\Users\\intasect\\Desktop\\Koala.jpg");
        FileOutputStream fos = new FileOutputStream("C:\\Users\\intasect\\Desktop\\fz.jpg");
        int by = 0;
        while ((by=fis.read()) != -1) {
            fos.write(by);
        }
        fis.close();
        fos.close();
    }
    //1024字节数组复制 耗时21毫秒
    public  static void  fun1() throws IOException {
         FileInputStream fis = new FileInputStream("C:\\Users\\intasect\\Desktop\\Koala.jpg");
         FileOutputStream fos = new FileOutputStream("C:\\Users\\intasect\\Desktop\\fz.jpg");
        int len = 0;
        byte[] bytes =new byte[1024];
        while ((len=fis.read(bytes)) != -1) {
            fos.write(bytes,0,len);
        }
        fis.close();
        fos.close();
    }
    // 一个字节一个字节复制,但是用了缓冲流 耗时64毫秒
    public static   void  fun2() throws IOException {
        BufferedOutputStream bos = new BufferedOutputStream(new FileOutputStream("C:\\Users\\intasect\\Desktop\\fz.jpg"));
        BufferedInputStream bis = new BufferedInputStream(new FileInputStream("C:\\Users\\intasect\\Desktop\\Koala.jpg"));
        int by = 0;
        while ((by=bis.read()) != -1) {
            bos.write(by);
        }
        bis.close();
        bos.close();
    }
    // 1024字节数组复制并用了缓冲流 耗时7毫秒
    public  static void  fun3() throws IOException {
        BufferedOutputStream bos = new BufferedOutputStream(new FileOutputStream("C:\\Users\\intasect\\Desktop\\fz.jpg"));
        BufferedInputStream bis = new BufferedInputStream(new FileInputStream("C:\\Users\\intasect\\Desktop\\Koala.jpg"));
        int len = 0;
        byte[] bytes =new byte[1024];
        while ((len=bis.read(bytes)) != -1) {
            bos.write(bytes,0,len);
        }
        bis.close();
        bos.close();
    }
    public static void main(String args[]) throws IOException {
        long t1 = System.currentTimeMillis();
        fun3();
        long t2 = System.currentTimeMillis();
        System.out.println(t2-t1);
    }
}

转载于:https://www.cnblogs.com/changefl/p/10766928.html

你可能感兴趣的文章
He who hesitates is Lost
查看>>
php中引用&的真正理解-变量引用、函数引用、对象引用
查看>>
关于<form> autocomplete 属性
查看>>
OutOfMemory
查看>>
LeetCode:组合总数III【216】
查看>>
Thinkphp框架回顾(三)之怎么实现平常的sql操作数据库
查看>>
虚函数的效率问题
查看>>
POJ 1860 Currency Exchange(SPFA 判断有无“正”环)
查看>>
广告地址屏蔽
查看>>
收缩SqlServer数据库日记方法
查看>>
每日英语:15 places to find inspiration
查看>>
学习方法--提问
查看>>
【转】每天一个linux命令(3):pwd命令
查看>>
merge-two-sorted-lists
查看>>
MySQL(3)
查看>>
poj1061——扩展gcd水题
查看>>
UVa400.Unix ls
查看>>
POJ 2299 Ultra-QuickSort 归并排序、二叉排序树,求逆序数
查看>>
Educational Codeforces Round 60 (Rated for Div. 2) C. Magic Ship
查看>>
Windows 2008 R2系统开机时如何不让Windows进行磁盘检测?
查看>>