import java.io.*;
import java.util.*;public class TestBufferedOutputStream{
  public static void main(String args[])throws IOException{
     int c;
     BufferedReader bi=
         new BufferedReader(new FileReader("1.txt"));
     BufferedWriter bo=
         new BufferedWriter(new FileWriter("2.txt"));
     String s=null;
        while((s=bi.readLine())!=null){
            bo.write(s);
            bo.newLine();
        }
  }
}当前目录下有1.txt和2.txt文件,循环中怎么读不进2.txt中去啊?

解决方案 »

  1.   

    最后没关流吧,要么在while循环里加个bo.flush()试试
      

  2.   

    我们不懂你为什么不close流package com.xuz.csdn.july07;import java.io.BufferedReader;
    import java.io.BufferedWriter;
    import java.io.FileReader;
    import java.io.FileWriter;
    import java.io.IOException;public class TestBufferedOutputStream {
    public static void main(String args[]) throws IOException {
    BufferedReader bi = new BufferedReader(new FileReader("d:/1.txt"));
    BufferedWriter bo = new BufferedWriter(new FileWriter("d:/2.txt"));
    String s = null;
    while ((s = bi.readLine()) != null) {
    bo.write(s);
    bo.newLine();
    }
    bo.close();
    bi.close();
    }
    }
    自己写到try-catch-finally中吧。
      

  3.   

    IO流,以及网络编程(ServerSocket等)记得最后要关流
      

  4.   

    bo.close();
    bi.close();中途需要强制存请bo.flush();
      

  5.   

    打好基础,注意编程习惯,你对java的缓存机制不是很了解吧
      

  6.   

    public class TestBufferedOutputStream{
        public static void main(String args[])throws IOException{
              int c;
              BufferedReader bi=
                  new BufferedReader(new FileReader("D:\\1.txt"));
              BufferedWriter bo=
                  new BufferedWriter(new FileWriter("D:\\2.txt"));
              String s=null;
          while((s=bi.readLine())!=null){
              bo.write(s);
              bo.newLine();
              bo.flush();
              //bo.close();
          }
          bi.close();
          bo.close();
        }
    }
    首先你应该调用flush()方法,
    再者你应该在读写完成以后关闭读写流!
      

  7.   

    http://www.mscto.com/JavaBase/2009013120262_4.html
    JAVA基础之——剖析Jive的缓存机制给你个网站,看得懂就看,看不懂就算了,有些东西咱们初学者不宜深究,你只要记得一般情况下只要是写的操作最好都flush()一下,即将缓冲区的数据刷出来,另外关流是为了节省系统资源,特别是做服务器端软件,本来数据处理量就大,再用几个忘记关的流占用系统资源的话,系统很容易崩溃的- -!