fout = new PrintWriter(
↑バイナリ」ファイル出力なのに、なんでPrintWriterなのか

>"3f"を書き出しているようです
あー陥りがちな話だね