Java中一个有趣的问题 BufferedOutputStream

来源:互联网 发布:海拉尔二中分尸案 知乎 编辑:程序博客网 时间:2024/05/23 16:54

今天用Java写了个程序,用于从文件中写入数据。

程序如下:

package JavaIO;import java.io.*;public class TestIOPath {public static void main(String[] args) {String path = "e:\\read.txt";BufferedWriter bw = null;try {bw = new BufferedWriter(new OutputStreamWriter(new FileOutputStream(path)));} catch (FileNotFoundException e) {// TODO Auto-generated catch blocke.printStackTrace();}try {for(int i = 0; i < 100; i++) bw.write("Fuck", 0, 4);//bw.flush();} catch (IOException e) {// TODO Auto-generated catch blocke.printStackTrace();}}}

出现的问题:无法写入到read.txt文件。

但是当我使用While(true)写入无数多个Fuckd的时候,发现是可以写入到read.txt中

经过查阅Java编程思想,发现原来BufferedOutputStream使用了缓冲区

学习不精,果然是半吊子。

调用了flush之后,终于成功写入了。

原创粉丝点击