java文件copy,fileutils工具包和缓存流

来源:互联网 发布:淘宝网春秋男茄克外套 编辑:程序博客网 时间:2024/04/29 23:58

根据代码来说话

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到工程        */    }}
0 0