Leer fichero al revés con Java

01/Sep/2015 Java , , , , Deja un comentario

Ya vimos en su momento como podemos leer un fichero de texto en Java. Pero como podemos hacer si queremos de forma inversa, es decir, leer fichero al revés con Java.

El funcionamiento para leer fichero al revés con Java es muy parecido al de leerlo de forma normal. Y es que el procedimiento será leerlo normalmente, almacenar su contenido en una lista y finalmente recorrer la lista de forma inversa para poder conseguir el efecto inverso.

Así que lo primero será leerlo mediante un FileReader almacenándolo en un BufferedReader.

  1. FileReader fr = new FileReader("resources/fichero_lineas.txt");

Ahora vamos a crear una lista. En este caso vamos a utilizar una lista enlazada o LinkedList, ya que nos ayudará a la hora de recorrerla de forma inversa.

  1. LinkedList<String> list = new LinkedList<String>();

Las lecturas de las líneas las hacemos mediante el método .readLine() y las insertamos en la lista mediante el método .add().

  1. LinkedList<String> list = new LinkedList<String>();
  2.  
  3. FileReader fr = new FileReader("resources/fichero_lineas.txt");
  4.  
  5. String sCadena;
  6. while ((sCadena = bf.readLine())!=null) {
  7. list.add(sCadena);
  8. }

Ahora ya tendremos todo el contenido del fichero perfectamente almacenado en la lista enlazada. Así que solo nos quedará recorrerla de forma inversa.

Para recorrerla de forma inversa vamos a utilizar un .descendingIterator(), es decir un iterador que va desde el final al principio.

  1. Iterator<String> it = list.descendingIterator();

Y mediante un bucle vamos moviendo el iterador y mostrando el contenido.

  1. while(it.hasNext())
  2. System.out.println(it.next());

De esta forma ya habremos conseguido leer fichero al revés con Java.

Vídeos sobre Java


¿Algo que nos quieras comentar?

Déjanos tu comentario, no te preocupes que tu email no será publicado

*

*