在学java时老师一直强调要用完流要关闭流,但有一个问题我一直没清楚,就是装饰流该怎么个关闭,通常我们是这样关闭的:
...
FileWriter fw = new FileWriter(fileName);
BufferedWriter bw = new BufferedWriter(fw);
...
fw.close();
bw.close();
...
但我感觉太累赘,既然fw被bw装饰了,bw关闭的同时是否fw也被关闭呢?
或者fw被关闭了的话,bw是否同时也被关闭,毕竟它们用的是一个流通道。
假如fw,bw都需要被关闭的话,它们关闭的顺序有要求吗?就是关闭的先后
顺序改变会有影响吗。
我还见到一只情况,如果bw是这样创建的:
...
BufferedWriter bw = new BufferedWriter(new FileWriter(fileName));
...
这样我们就取不到fw了,怎么办?