jump to navigation

Número de líneas de un fichero Noviembre 20, 2006

Publicado por lineadecodigo en : Java , trackback

La idea de este ejemplo es contar el número de líneas que tiene un fichero de texto utilizando las librerias Java IO del lenguaje Java. La forma en la que lo vamos a resolver no es la más optima, si bien es la más sencilla de implementar y entender.

De inicio deberemos de tener un fichero de texto con contenido. A dicho fichero lo llamaremos fichero.txt. Para abrir este fichero utilizaremos la clase FileReader. Con dicha clase obtendremos una referencia sobre el fichero que queremos conocer su número de líneas. Veamos la línea de código:

FileReader fr = new FileReader("fichero.txt");

Lo siguiente que vamos a hacer es leer el contenido del mismo. Para ello no nos vale el FileReader y nos tendremos que apoyar en un buffer. En este caso usamos un BufferReader, el cual espera como parámetro la referencia que tenemos sobre el. Esta será nuestra línea de código:

BufferedReader bf = new BufferedReader(fr);

Apoyandonos en el método .readLine() del buffer, podremos ir leyendo el contenido de cada una de las filas del fichero. Esta lectura la podemos hacer mediante un bucle hasta que el contenido de la lectura sea null. Esto querra decir que ya no hay más contenido en el fichero.

En cada una de las lecturas de línea iremos incrementando un contador, el cual lleva la cuenta de las líneas del fichero

long lNumeroLineas = 0;

while ((sCadena = bf.readLine())!=null) {
  lNumeroLineas++;
}

En este proceso tenemos que tener especial cuidado con dos excepciones. La primera es FileNotFoundException. Esta se producirá si el nombre del fichero sobre el que queremos obtener la referencia, no existe. La segunda será IOException. Esta execpión es lanzada si se tienen problemas en el acceso al propio fichero o stream de entrada. Es por ello que todo nuestro código deberá de estar en un bucle try-catch que controle dichas excepciones.

try{
  //Código
} catch (FileNotFoundException fnfe){
  fnfe.printStackTrace();
} catch (IOException ioe){
  ioe.printStackTrace();
}

Solo nos quedará el mostrar por pantalla el número de líneas que hemos acumulado. Para ello necesitaremos la siguiente línea de código:

System.out.println("El ficherot tiene " + lNumeroLineas + " lineas");

Articulos Similares:

Enviar entrada por email Enviar entrada por email | Imprimir Imprimir | 10088 visitas

1 Star2 Stars3 Stars4 Stars5 Stars (1 votos, media: 2.00 de 5)
Loading ... Loading ...

Comentarios»

1. alejandro - Mayo 11, 2007

que buenoque pongan cosas tan utiles comoestas

2. pablo - Mayo 30, 2007

gracias por esta algoritmo … fue muy util en un momento de urgencia!

3. lineadecodigo - Mayo 31, 2007

Pablo, me alegra que te haya servido. A ver si me acuerdo de ponerle el código fuente para que sea más sencillo utilizarlo.

4. Praiet - Diciembre 4, 2007

Para completar este código de manera correcta faltaría cerrar el lector de archivo.

Entre un try-catch para IOException:

bf.close();

Suerte :)

5. Alfredo - Febrero 28, 2008

como seria el codigo completo??? porfavor!!!


Imagen CAPTCHA CAPTCHA Audio
Refrescar imagen