Artículos
Java

Líneas vacías de un fichero con un Stream

19/Sep/2015

Una de las cosas buenas de la programación funcional, cuando se entiende, es la facilidad de programar las cosas. Hoy vamos a ver como podemos contar las líneas vacías de un fichero con un Stream mediante programación funcional. Y así lo podremos comparar con el anterior artículo sobre Cómo contar líneas vacías de un fichero con Java.

Inicialmente vamos a realizar la apertura del fichero mediante un FileReader y un BufferedReader.

FileReader fr = new FileReader("resources/fichero.txt");
BufferedReader bf = new BufferedReader(fr);

Ahora sobre el BufferedReader vamos a aplicar la programación funcional. Una de las cosas que tenemos que saber de la programación funcional es que, de forma contraria a la programación imperativa, no existe el concepto de bucles.

Lo primero que haremos será obtener un Stream, este nos lo proporciona el método .lines().

long vacias = bf.lines();

El manejo de Stream está disponible a partir de Java 1.8. Tenlo en cuenta cuando estés compilando el programa.

El Stream es el elemento que contiene los datos del fichero y sobre el cual vamos a aplicar operaciones. La primera será obtener las filas vacías, así que aplicaremos un filtro mediante el método .filter().

long vacias = bf.lines().filter();

En este filtro utilizaremos un predicado con una expresión lambda. La expresión lambda que vamos a utilizar es:

l -> l.isEmpty()

Esta expresión lambda lo que indica es que por cada línea, seleccionar aquellas que estén vacías. Es decir, sobre todas las líneas hemos aplicado un método filtro y el filtro indica que deben seleccionarse las líneas vacías.

Así que solo nos quedará realizar una última operación u operación final, que será contar el número de elementos que devuelve el filtro. Esto lo hace el método .count().

long vacias = bf.lines().filter(l -> l.isEmpty()).count();

Como podéis ver, mediante la programación funcional en Java podemos realizar la cuenta de líneas vacías de un fichero con un Stream mediante una única línea de código.

Código Fuente

Descárgate el código fuente de Líneas vacías de un fichero con un Stream
Y si te ha gustado nuestro código fuente puedes regalarnos una estrella Star

Vídeos sobre Java

Disfruta también de nuestros artículos sobre Java en formato vídeo. Aprovecha y suscribete a nuestro canal.

Test Java

¿Te atreves a probar tus habilidades y conocimiento en Java con nuestro test?

Test Java
Suscribir
Notificar de
guest
0 Comentarios
Opiniones integradas
Ver todos los comentarios