尝试将一个文本文件复制到另一个文件 代码如下:
package test;
import java.io.*;
public class Into { /**
 * @param args
 */
public static void main(String[] args) {
try {
FileReader fr = new FileReader("c:\\StaticMethod.java");
BufferedReader br = new BufferedReader(fr);
String s;
 
while((s = br.readLine())!= null){
System.out.print(s);
}

FileWriter fw = new FileWriter("c:\\static.java");
BufferedWriter bw = new BufferedWriter(fw);

bw.write(s);
bw.flush();
br.close();
bw.close();
fr.close();
fw.close();
} catch (FileNotFoundException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} }}
能都出来 但写不到另外一文件去 问题出在哪 请高人指点

解决方案 »

  1.   

    能读出来 但写不到另外一文件去 问题出在哪 请高人指点
    控制台显示:
    文件内容
    at java.io.Writer.write(Unknown Source)
    at test.Into.main(Into.java:21)
      

  2.   

    逻辑问题, 每读一行就应写一行, 而不是读完后再写package test;
    import java.io.*;
    public class Into { /**
     * @param args
     */
    public static void main(String[] args) {
    try {
    FileReader fr = new FileReader("c:\\StaticMethod.java");
    BufferedReader br = new BufferedReader(fr);
    String s;

    FileWriter fw = new FileWriter("c:\\static.java");
    BufferedWriter bw = new BufferedWriter(fw);
     
    while((s = br.readLine())!= null){
                                         bw.write(s);
                                         bw.newLine();
    System.out.print(s);
    }


    bw.flush();
    br.close();
    bw.close(); } catch (FileNotFoundException e) {
    // TODO Auto-generated catch block
    e.printStackTrace();
    } catch (IOException e) {
    // TODO Auto-generated catch block
    e.printStackTrace();
    } }}
      

  3.   

    String s;
     
    while((s = br.readLine())!= null){
    System.out.print(s);
    }你就打印出来有啥用?
      

  4.   

    如果要"非常感谢 但是还有一点疑问 为什么不能把读出来的数据放到结果集中一次写入呢?
    "
    因为每readLine()一次,上一行的内容就被刷掉了
    如果要这么做的话,可以
    StringBuffer buffer=new StringBuffer();
    while((s = br.readLine())!= null){
                          buffer.append(s);
                                        System.out.print(s);
    }
    bw.write(buffer.toString());