ファイル内の未使用ブロック情報をリストで持たせといて、
データ追加時はそのリストから、未使用ブロックを見つけて
データ追加とかっていうんじゃ無理?>22