• Java IO的应用之实现大文件复制


         

    转载请注明原文地址:http://www.cnblogs.com/ygj0930/p/5827481.html 

         用IO进行文件复制,实质就是用FileInputStream链接要复制的文件,按一定规模的字节数一段段地把文件复制读取出来,同时通过FileOutputStream把字节数组进行输出,直到待复制文件被“搬运”完毕。

    画图理解:

    代码实现:

    import java.io.*;
    import java.util.*;
    public class IOliu{
    
    public static void main(String[] args)
    {
    FileInputStream fis=null;
    FileOutputStream fos=null;
    try
    {
    File f1=new File("android.exe");
    File f2=new File("android2.exe");
    
    fis=new FileInputStream(f1);
    fos=new FileOutputStream(f2);
    
    byte[] bs=new byte[50000];
    Date d=new Date();
    int i;
    System.out.println("不带缓冲的 50000B 开始:"+d.toString());
    while((i=fis.read(bs))!=-1)
    {
    fos.write(bs,0,i);
    }
    Date d2=new Date();
    System.out.println("不带缓冲的 50000B 结束:"+d2.toString());
    
    }catch(IOException ex)
    {
    System.out.println(ex);
    }finally
    {
    try{
    fis.close();
    fos.close();
    }catch(IOException ex)
    {
    System.out.println(ex);
    }
    }
    }
    }

    有趣的实验:

    上面用来充当搬运工的byte数组是50000B大小,读者可以尝试更改这架“搬运车”的运量,由小到大多试几个数值,你会发现复制的效率会随着字节数组的大小而改变,并且接近某一个数值时达到较大效率,之后更大数值反而效率下降。

  • 相关阅读:
    最详细的hadoop2.2.0集群的HA高可靠的最简单配置
    HIVE 在执行大量数据JOIN的时候,容易产生内存不足的情况
    机器学习的学习笔记1
    AngularJS在IE8的支持
    OC 异常处理
    OC NSString练习
    OC继承
    OC--@property和@synthesize关键字
    OC输入输出
    OC数组和字典简单使用
  • 原文地址:https://www.cnblogs.com/ygj0930/p/5827481.html
Copyright © 2020-2023  润新知