想不明白为什么有输出流的时候打印输入流的字符为什么是null呢

解决方案 »

  1.   


     BufferedWriter bufferedWriter=new BufferedWriter(new FileWriter("d:\\a.txt"));
                BufferedWriter bufferedWriter=new BufferedWriter(new FileWriter("d:\\a.txt"));
                BufferedReader bufferedReader=new BufferedReader(new FileReader("d:\\a.txt"));
                bufferedWriter.write("who are you ?");
                bufferedWriter.flush();
                String s = bufferedReader.readLine();
                bufferedReader.close();
                bufferedWriter.close();
                System.err.println("==="+s);要flush一下
      

  2.   

    Java IO流 之 BufferedReaderhttp://www.verejava.com/?id=16994684528313
      

  3.   

    bufferedWriter.flush();
      

  4.   

    在      bufferedWrite.write("who are you?");     后面加上          bufferedWrite.flush();                             刷新一下流
      

  5.   

    flush下
      

  6.   

    把writer关闭的代码移到创建输入流之前,调用close方法时会自动刷新。
      

  7.   

    因为在你打印之前你写入的东西还在缓冲区,没有刷新入硬盘,你可以先关闭bufferedWrite,在创建BufferedReader
      

  8.   

    bufferedWriter.flush(); 这个是内容刷出到文本文件里面
      

  9.   

    public static void main(String[] args){
    BufferedWriter write = null;
    BufferedReader reader=null;
    String str = null;
    try {
    write = new BufferedWriter(new FileWriter("D:\\abc.txt"));
    write.write("HELLO WORD");
    } catch (IOException e) {
    e.printStackTrace();
    }finally {
    try {
    write.flush();
    write.close();
    } catch (IOException e) {
    // TODO Auto-generated catch block
    e.printStackTrace();
    }

    }

    try {
    reader = new BufferedReader(new FileReader("D:\\abc.txt"));
    str = reader.readLine();
    } catch (Exception e) {
    e.printStackTrace();
    }finally {
    try {
    reader.close();
    } catch (IOException e) {
    e.printStackTrace();
    }
    }

    System.out.println(str);
    }
    你在对一个文件写入操作的时候,要么flush要告诉后面不允许写入,或者将流关闭,然后再做读取流的操作。(抱歉只能说这么多,怕误人子弟)
      

  10.   

    使用BufferedWriter时,写入的数据并不会先输出到目的地,而是先存储至缓冲区中。如果缓冲区中的数据满了,才会一次对目的地进行写出。如果要在缓冲区中数据未满的情况下将数据写入到目的地,需要使用flush()方法,将数据刷新一下。就像这样
      

  11.   

    缓存流,flush下
      

  12.   

    字符流的原因   flush下就好了  
      

  13.   

    flush一下刷新到硬盘
      

  14.   

    BufferedWriter时缓存流,你这样连续的存、读操作,是需要flush一下的,强制释放缓存区内容,这样就能读到文件内容了。
      

  15.   

    刷新缓存 flush一下就可以
      

  16.   

    BufferedWriter和BufferedReader之间要bufferedWriter.flush(),输出流Write之后要清除缓存,才能立即Reader到,数据都保存在缓存流中。
      

  17.   

    Java不走弯路学习路线,练习,资料等参考
    http://www.java123.vip
      

  18.   

    Java IO流 之 BufferedReader BufferedWriter 实例 http://www.verejava.com/?id=16994737475720