ファイル入出力バージョンの完成。例外の補足がまだまだ甘いですがレヴュー用にgithubにアップします。