у RandomAccessFile нет метода write(String str)
есть только write(byte [] b), write(byte [] b), write(int), writeChars(String str), writeInt(int v), writeByte(int v)...
В общем я всё перепробовала, он всё равно записывается с пустым символом в начале. Я поэтому делаю trim() после считывания строки