基本的な質問で恐縮なのですが、
https://pastebin.com/iQbMfbRS
上のコードで、
FileWriter fw = null;
と、変数fwをnullで初期化していますが、
ここは変数宣言するだけの、
FileWriter fw;
ではダメなんでしょうか?