1. 使用BufferReader和BufferWriter实现文件复制
2. 使用PrintWriter和BufferReader实现文件复制

解决方案 »

  1.   

    Reader read = new FileReader("a.txt");
    Writer write = new FileWriter("b.txt");
    BufferedReader br = new BufferedReader(read);
    BufferedWriter bw = new BufferedWriter(write);
    String str = br.readLine();
    StringBuffer sb = new StringBuffer();
    while(str!=null){
        sb.append(str);
        str = br.readLine(); //再读一行
    }
    bw.write(sb.toString());
      

  2.   

    import java.io.*;
    public class FileCopy {
    public static void main(String[] args) {
    File filein = new File("c:\\data\\soudata.txt");
    File fileout = new File("c:\\data\\desdata.txt");
    if (filein.exists()) {
    } else {
    System.out.println(filein.getName() + " not exist");
    return;
    }
    if (fileout.exists()) {
    } else {
    System.out.println(fileout.getName() + " not exist");
    return;
    }
    try {
    BufferedReader in = new BufferedReader(new FileReader(filein));
    PrintWriter out = new PrintWriter(new FileWriter(fileout));
    String s;
    while ((s = in.readLine()) != null) {
    out.print(s);
    }
    in.close();
    out.close();
    } catch (FileNotFoundException e1) {
    System.out.println("File not found");
    } catch (IOException e2) {
    e2.printStackTrace();
    }
    }
    }
      

  3.   

    附上代码import java.io.BufferedReader;
    import java.io.BufferedWriter;
    import java.io.FileReader;
    import java.io.FileWriter;
    import java.io.IOException;public class BufferedTest 
    {
    /**
     * @param args
     * @throws IOException 
     */
    public static void main(String[] args) throws IOException 
    {
    //字符读取流
    FileReader fr = new FileReader("Demo.txt");
    //缓冲字符输入流
    BufferedReader bufr = new BufferedReader(fr);
    //字符写入流
    FileWriter fw = new FileWriter("Copy.txt");
    //缓冲字符输出流
    BufferedWriter bufw = new BufferedWriter(fw);
    //读写操作
    int ch;
    while((ch=bufr.read())!=-1)
    {
    bufw.write(ch);
    bufw.flush();
    }
    //关闭流资源
    bufr.close();
    bufw.close();
    }
    }