Si es posible con accesio aleatorio, solo necesitar positionarte con la funcion archivo.seek() en el lugar donde quieras guardar los archivos y ya. Luego vuelves a reescribir, por si las dudas te dejo el valor de cada dato para que lo posiciones mejor.
String: 2 bytes por caracter
Long: 8 bytes
Int: 4 bytes
Short: 2 Bytes
Byte: Adivina, podría ser un byte?
Boolean: 1 bit.
El seek lo posicionas en base a los bytes que estés usando, espero que esto te sea de ayuda alguna.