Java 为什么在使用BufferedWriter时无法获取输出?

Java 为什么在使用BufferedWriter时无法获取输出?,java,io,bufferedwriter,Java,Io,Bufferedwriter,使用BufferedWriter时无法获取输出。从我的观点来看,它将显示 d aei durga [我在那里发布了为什么没有特别的输出] import java.io.BufferedReader; import java.io.BufferedWriter; import java.io.File; import java.io.FileWriter; import java.io.FileReader; public class BufferedWriterDemo { pu

使用
BufferedWriter
时无法获取输出。从我的观点来看,它将显示

d

aei

durga
[我在那里发布了为什么没有特别的输出]

import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.File;
import java.io.FileWriter;
import java.io.FileReader;

public class BufferedWriterDemo
{
    public static void main(String s[])throws Exception
    {
        //char b='a';
        File f=new File("abc.txt");
        //f.createNewFile();
        FileWriter fw=new FileWriter(f);
        FileReader fr=new FileReader(f);
        BufferedWriter bw=new BufferedWriter(fw);
        bw.write(100);
        bw.newLine();
        char ch1[]={'a','e','i'};
        bw.write(ch1);
        bw.newLine();
        bw.write("durga");
        BufferedReader br=new BufferedReader(fr);
        String line=br.readLine();
        while(line!=null)
        {
            System.out.println(line);
            line=br.readLine();
        }
        bw.flush();
        br.close();
        bw.close();
    }
}
显示的输出

//在下列情况下,我什么也没有得到:

bw.write("durga");
  • 试着做:

    bw.flush();
    
    因此它可以将数据写入文件,或者

  • 在写入文件时关闭文件句柄


顾名思义,它会缓冲数据:一旦缓冲区已满,它就会在您的示例中推送到文件。但是您只写了很少的数据,所以我建议您关闭或刷新流。

因为BufferedWriter在您写入8千字节、刷新或关闭之前不会真正写入任何内容?(这就是BufferedWriter的全部要点)顺便说一句,您的变量名非常混乱。您对BufferedWriter使用了
br
,对BufferedReader使用了
bw
,对文件读取器/写入器使用了相同的方法。我希望它们是另一种情况,writer的后缀是
w
,reader的后缀是
r
。@immiba我不明白,你能详细解释一下我需要在文件中添加更多数据吗?