Escritura en reverza de una archivo

Iniciado por morenochico, 5 Octubre 2007, 19:49 PM

0 Miembros y 1 Visitante están viendo este tema.

morenochico

creo que todos estaran de acuerdo que para leer una archivo de manera secuencial en java el sig codigo lo puede hacer


try {
            archivo = new File ("arch.txt");
         String linea;
         FileReader fr = new FileReader (archivo);
         BufferedReader br = new BufferedReader(fr);
         while((linea=br.readLine())!=null )
         {   System.out.println(linea);
          }
          // contador++;   
         }
      }
      catch(IOException e){
                    System.out.println(e);
                }

El detalle es que siempre se lee de inicio a fin de un archivo, ¿como le haria para que empezara por el final? y otra cosa ¿como insertar texto entre lineas? ¿como contar las lineas que no sea releer todo el archivo con un contador (contador++)?. Digo porque si quiero saber cuantas lienas tiene un archivo para luego ir a una en particular y escribir algo. Creo que hacemos el doble de trabajo o hasta el triple. L idea es optimizar sobre todo cuando se hacen varias llamadas al metodo.

Casidiablo

Uissshh, como odio no estudiar Java hace más de un año... ya se me ha olvidado lo poco que sé. Creo recordar que existen métodos menos "pasados de moda" de leer un archivo, y creo recordar que ha ese tipo de acceso a archivos se le llamaba "Acceso Aleatorio" o algo así.

Bueno, la verdad que mi post puede sobrar ya que no aporto mucho, pero podrías hecharle un vistazo con Google, que es "mucho muy" sabio.

Un saludo!

morenochico

Gracias Casidiablo


Si me sirvio aunque seguire investigando, lo que pasa es que lo buscaba como lectura en reverza y practicamente no hay nada. Pero ya gracias al metodo ya me doy mas ideas.

.hack//

Yo en tu caso usaria un arreglo unidimensional, y creas un for que imprima el valor de el final de tu arrglo hasta el inicio. para que te ponga la palabra al reves, como poner roma y que imprima amor.

Creo que es lo que querias que haga tu programa no??.

Bueno pues ahi tienes una solucion que a mi punto de vista, es mas facil.

Saludos  ::)

Casidiablo

Si, podría funcionar pero... si es un archivo pequeño (1-5 MB) está bien, pero imáginate un arreglo que contenga los datos de un archivo de 500 MB o de 2 GB. Sería un desperdicio de memoria.

Un saludo!

.hack//

Cita de: Casidiablo en 12 Octubre 2007, 16:03 PM
Si, podría funcionar pero... si es un archivo pequeño (1-5 MB) está bien, pero imáginate un arreglo que contenga los datos de un archivo de 500 MB o de 2 GB. Sería un desperdicio de memoria.

Un saludo!

Jejeje, si tienes toda la razon, pero nunca especifico para que lo queria, yo digo que es una practica que tiene que hacer para la escuela, asi que no creo que necesite meter demasiados datos.

Saludos  ::)