Hola:
Bueno, es sencillo
http://chuwiki.chuidiang.org/index.p..._de_un_fichero aunque por supuesto hay más métodos y variantes.
Si quieres hacerlo con esta clase, tendrías que guardar el departamento en un fichero de forma que cada registro y cada campo ocupe siempre lo mismo, por ejemplo, en formato texto estilo CSV para hacerlo más sencillo.
"001","matematicas_______","Lugo_________"
"002","física_____________","Pontevedra____"
...
fijate que cada campo ocupa lo mismo (se completa con espacios) y cada fila ocupa lo mismo. De esta forma, con RandomAccessFile es fácil situarse en un sitio concreto
randomAccessFile.seek(numero de fila * caracteres que ocupa una fila + posicion del campo en la fila)
y ahora solo tienes que escribir lo que quieras.
Lo de las " y las , es por hacerlo legible para un humano, pero para RandomAccessFile le da igual, lo importante es la posición, a RandomAccessFile le valdría
001matematicas________lugo______________002fisica_ _______pontevedra__________
es decir, ni separadores, ni retornos de carro ni nada, solo es importante que cada departamento ocupe el mismo número de bytes y cada campo también.
PD: Los _ pueden ser espacios, se trata de conseguir que los campos ocupen todos lo mismo.
Se bueno.