今天用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 block
e.printStackTrace();
}
try {
for(int i = 0; i < 100; i++) bw.write("Fuck", 0, 4);
//bw.flush();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
出现的问题:无法写入到read.txt文件。
但是当我使用While(true)写入无数多个Fuckd的时候,发现是可以写入到read.txt中
经过查阅Java编程思想,发现原来BufferedOutputStream使用了缓冲区
学习不精,果然是半吊子。
调用了flush之后,终于成功写入了。