Ver Mensaje Individual
  #2 (permalink)  
Antiguo 19/10/2015, 04:53
Avatar de chuidiang
chuidiang
Colaborador
 
Fecha de Ingreso: octubre-2004
Mensajes: 3.774
Antigüedad: 19 años, 7 meses
Puntos: 454
Respuesta: eliminar registro de un fichero

Hola:

Si tienes que hacerlo con RandomAccessFile, lo lógico (sencillo) es que todos los departamentos ocupen un número fijo de bytes en el fichero. Imagina por simplificar que ocupa 100 bytes cada departamento. De esta forma, es fácil posicionarse, el primer departamento está en el byte 0, el segundo en el 100, el tercero en el 200, etc.

Si no ocupan un número fijo de bytes, no puedes hacerlo con RandomAccessFile de forma fácil. Tienes o bien que recorrer todo el fichero, o bien llevar un segundo fichero como índice. Este segundo fichero tendría algo como "el departamento 1 está en el byte 0, el departamento 2 está en el byte 122, el departamento 3 está en el byte 212 ..." pero puedes hacerte a la idea de que mantener este fichero complica bastante.

Si no ocupan un número fijo de bytes, una alternativa que puede simplificar es obligar a que lo hagan. Por ejemplo, puedes forzar que el nombre de departamento tenga 20 caracteres, rellenando con espacios los que falten, o eliminando los que sobren, y así con todos los posibles datos que tengas de cada departamento.


Se bueno.
__________________
Apuntes Java
Wiki de Programación