Мне кажется, вы все немного усложнили. Но, может, я просто устал.

В любом случае, вы там внутри открываете RandomAccessFile. Его нужно гарантированно закрыть. Давайте сделаем правильные try/finally с close.