java学习_File快速拷贝
2015-10-29 15:06
218 查看
// 第一种:通过字节流实现快速拷贝文件 try { long before=System.currentTimeMillis(); FileInputStream fis=new FileInputStream("web.rar"); BufferedInputStream bis=new BufferedInputStream(fis,1024*1000);//缓冲每次1MB FileOutputStream fos=new FileOutputStream("web(副本).rar"); BufferedOutputStream bos=new BufferedOutputStream(fos, 1024*1000); byte input[]=new byte[1024*100];//每次读取100KB int count=0; //磁盘读取次数 while (fis.read(input)!=-1) { fos.write(input); count++; } bis.close(); bos.close(); fis.close(); fos.close(); System.out.println("耗时:"+(System.currentTimeMillis()-before)+" ms"); System.out.println("读取次数:"+count); } catch (FileNotFoundException e) { e.printStackTrace(); } catch (IOException e) { e.printStackTrace(); }
我测试了一个70MB的rar文件的读取,仅仅72毫秒左右即可(我的是个金士顿渣渣的固态盘)
第二种:使用Apache实现快速拷贝
File file=new File("web.rar"); File file2=new File("web(副本).rar"); try { long before=System.currentTimeMillis(); FileUtils.copyFile(file, file2); System.out.println("耗时:"+(System.currentTimeMillis()-before)); } catch (IOException e) { e.printStackTrace(); }
耗时长了一点点,但是操作实在是太方便了,瞬间不想用java原生的IO流了。就是要引用Apache库;可去这里下载:http://download.csdn.net/detail/fm158512775/9224057
相关文章推荐
- Spring/Hibernate 应用性能优化的7种方法
- java入门 第一季4
- Java中避免NullPointerException的一些方法
- 深入详解Struts2——Struts2对依赖注入的支持
- uploadify和springmvc结合
- Java与CSP数据兼容之三:Java兼容CSP的DES/3DES密钥数据和密文
- Hadoop2.6.0HDFS的java接口实战
- Java 并发工具包 java.util.concurrent 用户指南
- java中堆和栈的区别!!!!
- 在Android Studio上快速导入Eclipse风格
- Java编程思想第四版读书笔记——第十一章 持有对象
- Java中单例模式和静态类的区别
- Java:单例模式的七种写法
- Jsonlib实现Json字符串和Java对象的互相转换
- Struts的常用ognl表达式
- JDK,JRE,JVM区别与联系
- java读取配置文件中的每一行并遍历
- java性能优化的地方
- Maven搭建hadoop环境报Missing artifact jdk.tools:jdk.tools:jar:1.8
- Exception in thread "main" java.lang.Error: Unresolved compilation problem