注: 在读写流(stream)的时候,数据是先被读到了内存中,再把数据写到文件中,当你数据读完的时候不代表你的数据已经写完了,因为还有一部分有可能会留在内存这个缓冲区中。这时候如果你调用了close()方法关闭了读写流,那么这部分数据就会丢失,所以应该在关闭读写流之前先flush()。
import java.io.*;
public class GetNote {
??? public static void main(String[] args) throws IOException {
??? ??? BufferedReader bur =new BufferedReader(new InputStreamReader(System.in));?
??? ??? BufferedWriter buw = new BufferedWriter(new FileWriter("F:/note.txt"));
??? ??? String str = bur.readLine();?
??????? while (!str.equals("exit")) {?
??????????? buw.write(str);?
??????????? buw.newLine(); //换行
??????????? buw.flush();//把缓冲区的数据强行输出?
??????????? str = bur.readLine();?
//读取一行数据
??????? }?
??????? bur.close();?
??????? buw.close();??
??? ???
??? }
}