java文件copy,fileutils工具包和缓存流
2015-12-10 11:16
519 查看
根据代码来说话
import java.io.BufferedReader; import java.io.BufferedWriter; import java.io.DataInputStream; import java.io.File; import java.io.FileInputStream; import java.io.FileNotFoundException; import java.io.FileOutputStream; import java.io.IOException; import java.io.InputStream; import java.io.InputStreamReader; import java.io.OutputStream; import java.io.OutputStreamWriter; import java.util.Scanner; import org.apache.commons.io.FileUtils; import com.sun.xml.internal.ws.policy.privateutil.PolicyUtils.Text; public class CharRWStreamTest01 { public static void main(String[] args) { long startTime=System.currentTimeMillis(); try { BufferedReader br=new BufferedReader( new InputStreamReader( new FileInputStream("123.rar"))); BufferedWriter bw=new BufferedWriter( new OutputStreamWriter( new FileOutputStream("125.rar"))); String s; while((s=br.readLine())!=null){ bw.write(s); bw.write("\n"); } bw.flush(); bw.close(); br.close(); } catch (FileNotFoundException e) { e.printStackTrace(); } catch (IOException e) { e.printStackTrace(); } long endTIme=System.currentTimeMillis(); System.out.println("it taste "+(endTIme-startTime)+"ms~"); /*以上一段是用缓冲字符流,我copy的是一个566mb的文件,耗时27936ms *由于我选的是.rar文件,字符流复制的结果会有损坏,编码不同, *所以应该用字节流来复制,适当的改改就好, *可以多包一层datainputstream,读入写出更方便。 */ // long startTime=System.currentTimeMillis(); // FileUtils fileUtils=new FileUtils(); // try { // fileUtils.copyFile(new File("123.rar"),new File("124.rar")); // } catch (IOException e) { // e.printStackTrace(); // } // long endTIme=System.currentTimeMillis(); // System.out.println("it taste "+(endTIme-startTime)+"ms~"); /*以上被注释的一段使用了fileutils的工具包,可以看出来复制文件非常简单 *apache.org网站上可以找到commoms.io包,下载后buildpath到工程 */ } }
相关文章推荐
- Eclipse中安装Genymotion插件
- 【springmvc+mybatis项目实战】杰信商贸-2.数据库配置
- 【springmvc+mybatis项目实战】杰信商贸-3.需求分析与数据库建模
- 【springmvc+mybatis项目实战】杰信商贸-4.maven依赖+PO对+映射文件
- 【springmvc+mybatis项目实战】杰信商贸-5.生产厂家DAO+SERVICE+CONTROLLER+JSP+配置文件
- 【springmvc+mybatis项目实战】杰信商贸-6.重点知识回顾
- 【springmvc+mybatis项目实战】杰信商贸-7.生产厂家新增
- 【springmvc+mybatis项目实战】杰信商贸-8.生产厂家修改
- 【springmvc+mybatis项目实战】杰信商贸-9.生产厂家删除+查看
- 【springmvc+mybatis项目实战】杰信商贸-10.生产厂家停用+启用
- 【springmvc+mybatis项目实战】杰信商贸-11.购销合同业务
- 【springmvc+mybatis项目实战】杰信商贸-12.重点知识回顾
- Java 提示“找不到或无法加载主类” 解决方法
- 关于java中equals与==的区别的小实验
- Java和C#中3DES的加密与解密
- java中instanceof用法
- 基于Eclipse的Storm应用开发
- 大话java中的字符串String使用中十大热点问题
- Spring <context:annotation-config/> 解说
- Roman To Integer leetcode java