FileOutputStreamはJava側ではバッファリングしていないが
OS側のファイルシステムがバッファリングしてる場合もあるので、
flush呼び出しで明示的にディスク書き出しを指示できるので完全に無意味って事はない。

ただしディスク書き出しを指示するっても指示された側が直ちに実行するとは限らない。
典型的にはflushの呼び出しが終わった時には書き出しが終わっている事が期待されるが
実際にはディスクアクセスの優先順位待ちとかでflushの呼び出しが終わった時点でも
ディスクへの書き出しが終わってないとかそーゆーケースはある。