关于文件输入输出流的问题,我的实现不了

import java.io.*;

public class Test01 {
public static void main(String args[]) throws IOException
{
BufferedReader sin=new BufferedReader(new InputStreamReader (System.in));//键盘输入流
String str=sin.readLine();

    File f=new File("F:/备忘.txt");

    FileWriter out=new FileWriter(f);
    BufferedWriter bw=new BufferedWriter(out);//文件输出流
    bw.write(str);

    FileReader in=new FileReader(f);
    BufferedReader br=new BufferedReader(in);//文件输入流
    str=br.readLine();

    System.out.println("现在读取文件中的信息!");
    System.out.println(str);
    out.close();
    bw.close();
    in.close();     
    br.close();
}

}

在 bw.write(str); 后面加上 bw.flush();就可以了,

flush()表示强制将缓冲区中的数据发送出去,不必等到缓冲区满.

如果在用流的时候,没有用flush()这个方法,很多情况下会出现流的另一边读不到数据的问题,特别是在数据特别小的情况下.