关于缓冲字符流中关闭的问题
小弟在学习过程中遇到这样一个问题
try {
fr.close(); //这里frbr fw br是FileReader BufferedReader
br.close(); //FileWriter BufferedWriter
bw.close();
fw.close();
} catch (Exception e1) {
// TODO Auto-generated catch block
e1.printStackTrace()
小弟一开始将fw.close放在bw.close前面,导致编译不过去,百度了一下前辈们说是先关闭buffer类再关闭file类,小弟改后确实可以了,但是发现前面fr.close放在br.close前面确没有报错 这是为什么呢?为什么bw.close要放在fw.close前面?小弟分不是很多 求谅解。
------解决方案--------------------BufferedWriter是处理流,FileWriter是节点流,你建bw时候用fw做的参数,我这么想的,没试过
------解决方案--------------------br和bw分别会调用fr和fw,所以fr和fw不需再close一次
所以
br.close();
bw.close();
就OK了