import java.io.*;
public class FileIOTextDemo{
public static void main(String arg[]) throws IOException{
      
       BufferedReader Buff= new BufferedReader(new InputStreamReader(System.in));
       
       BufferedWriter Bw= new BufferedWriter(new FileWriter("c:\\brio.txt"));
       
       String str;
       
      while(true){ 
      str=Buff.readLine();
       if(str.equalsIgnoreCase("exit")){
     break;
       }
            Bw.write(str);
      
      }
}

为什么没有办法写入数据。

解决方案 »

  1.   

    import java.io.*;
    public class wt 
    {
    public static void main(String[] args) throws IOException
    {
    BufferedReader Buff= new BufferedReader(new InputStreamReader(System.in));
    BufferedWriter Bw= new BufferedWriter(new FileWriter("c:\\123.txt"));
    String str;
    while(true){ 
         System.out.println("please input sth :");
    str=Buff.readLine();
         if(str.equalsIgnoreCase("exit"))
    {
         break;
            }
        Bw.write(str,0,str.length());//我想你主要是这里的这个函数得用法没有搞明白

    }
    Buff.close();
    Bw.close();
    }
    }我在你的程序里面加了一个提示输入的System.out.println()的语句,方便你输入,不想输入的时候就输入exit退出,关于BufferedWriter.write()函数的用法你参照doc文档看一下吧,我就不罗嗦了
      

  2.   

    BufferedWriter Bw= new BufferedWriter(new FileWriter("c:\\123.txt"));
    //构造函数不对,BW里面是一个输出流对象。里面FW构造函数应该是一个FILENAME。
      

  3.   

    你没有flush所以,写的东西还是没有真正写到文件里。呵呵。我测试过了,以下可行。import java.io.*;public class FileIOTextDemo {
        public static void main(String arg[]) throws IOException {        BufferedReader Buff = new BufferedReader(new InputStreamReader(
                    System.in));        BufferedWriter Bw = new BufferedWriter(new FileWriter("c:\\\brio.txt"));        String str;        while (true) {
                str = Buff.readLine();
                if (str.equalsIgnoreCase("exit")) {
                    break;
                }
                Bw.write(str);
                Bw.flush();
            }
            Bw.close();
            
        }
    }
      

  4.   

    主要是在循环外没有        Bw.close();
      

  5.   

    测试过,只有当最后输入exit的时候,才能将数据输出,要不能,程序一直在等待数据输入!
      

  6.   

    BufferedWriter Bw= new BufferedWriter(new FileWriter("c:\\brio.txt"));你这句话的意思,使用了缓冲BufferedWriter修饰了FileWriter,所以每次写数据的时候都是先写到缓存里的,而不是直接写到txt里,所以写完后,需要用close来告诉编译器,我写完了,把内容可以放到txt里了,然后清空缓存