Ver Mensaje Individual
  #6 (permalink)  
Antiguo 02/01/2009, 12:59
GreenEyed
 
Fecha de Ingreso: octubre-2003
Mensajes: 3.578
Antigüedad: 20 años, 7 meses
Puntos: 51
Respuesta: Dudas con ficheros de acceso aleatorio

La primera sugerencia sería leer el mensaje que ya escribí .
Lo segundo dejar claro algunos conceptos:
.- Por repetirlo, RandomAccessFile y (Output/Input)Stream son excluyentes. O usas un sistema o usas otro. Los dos no. Si usas los dos a la vez lo unico que conseguiras es que normalmente uno no haga nada, como en el caso de la escritura en que RandomAccessFile no hace absolutamente nada.
.- Los objetos del tipo Stream (Output o Input) són para tratar "bytes", no cadenas. Para tratar cadenas estan los objetos del tipo Reader/Writer, que igualmente son de acceso secuencial pero que tienen en cuenta que lo que guardan es texto y si que hacen cosas como introducir saltos de linea etc.
.- Los ObjectXStream son para almacenar objetos en forma te ristra de bytes, así en genérico, guardando además la definición de la clase de cada objeto en el fichero. No se si es lo que quieres usar o no, pero aquí no hay saltos de linea ni podrás editar el fichero con un editor de tecto, por que guarda bytes, no texto (ver punto anterior).

Mi recomendación sería empezar por un tutorial básico del paquete de entrada salida de Java, que es algo distinto al planteamiento en otros lenguajes, y a mirar el API a menudo, que es la mejor forma de descubrir que cosas se pueden o no hacer con las clases de ese paquete (y de todas claro, pero con estas sin el API se hace mas dificil trabajar).

Algunas referencias por ejemplo aquí:
Muy básica en castellano: http://pisuerga.inf.ubu.es/lsi/Inves...Tuto/III_3.htm
Más completo en inglés (los dos primeros temas): http://java.sun.com/docs/books/tutorial/essential/io/

El API de Java I/O más actual: http://java.sun.com/javase/6/docs/api/java/io/

S!
__________________
Para obtener respuestas, pregunta de forma inteligente o si no, pregunta lo que quieras que yo contestaré lo que me dé la gana.