日期:2014-05-20  浏览次数:20842 次

J2SE中 用不同形式的流完成对文件的拷贝

                        用不同形式的流完成对文件的拷贝

单纯的字符流:

FileCopy .java

 

 packagefilewriter;

 

import java.io.File;

import java.io.FileNotFoundException;

import java.io.FileReader;

import java.io.FileWriter;

import java.io.IOException;

 

public class FileCopy {

 

       publicstatic void main(String[] args) {

              FileReaderfr = null;

              FileWriterfw = null;

              try{

                      fr = new FileReader(newFile("src/FileWriter/FileCopy.java"));

                     fw= new FileWriter(new File("D:/filecopy.txt"));

                    

                     charbuf [] = new char [1024];

                     intlen = 0;

                     while((len = fr.read(buf))!=-1){

                            fw.write(buf,0, len);

                           

                     }

              }catch (Exception e) {

                     //TODO Auto-generated catch block

                     e.printStackTrace();

              }finally{

                     if(fr!= null){

                            try{

                                   fr.close();

                            }catch (IOException e) {

                                   //TODO Auto-generated catch block

                                   e.printStackTrace();

                            }

                     }

              }

              if(fw!= null){

                     try{

                            fw.close();

                     }catch (IOException e) {

                            //TODO Auto-generated catch block

                            e.printStackTrace();

                     }

              }

 

       }

 

}


带缓冲的字符流:

BufferedFileCopy.java

package bufferedstream;

 

import java.io.BufferedReader;

import java.io.BufferedWriter;

import java.io.File;

import java.io.FileNotFoundException;

import java.io.FileReader;

import java.io.FileWriter;

import java.io.IOException;

 

public class BufferedFileCopy {

 

       publicstatic void main(String[] args) throws IOException {

              FileReaderfr = new FileReader(new File("D:/buffered.txt"));

       FileWriter fw = new FileWriter(new File("buf.txt"));

       java.io.BufferedReader br = new BufferedReader(fr);

       java.io.BufferedWriter bw = new BufferedWriter(fw);

       String content = null;

       while ((content = br.readLine())!= null) {

                       bw.write(content);

                       bw.newLine();

                       bw.flush();

              }

       bw.close();

       br.close();

       

       }

 

}

 

好了赶快去实现自己的文件拷贝功能吧!