バッファ付け文字ストリームについて質問させてください

FileWriter fw = new FileWriter(args[0]);
BufferedWriter bw = new BufferedWriter(fw);

bw.write("abcdefg");

とやって最後にclose()関数を書くと思うのですが、
独習Javaを見てると
bw.close(); とやってる場合と fw.close()とやってる場合があります。
これはどちらでもよいのでしょうか?
よく理解したいのでどちらでもよい場合はその理由も教えてもらえるとうれしいです