sábado, 16 de noviembre de 2013

Contar palabras terminadas en -cion

En esta entrada del blog os presento un código para contar las palabras terminadas en -cion, aunque se podría modificar para encontrar las palabras que contienen ese patrón de letras.
CONTAR PALABRAS QUE CONTIENEN UN PATRÓN DE LETRAS.
------------------------------------------------------------------------------------------
import java.io.BufferedReader;
import java.io.File;
import java.io.FileNotFoundException;
import java.io.FileReader;
import java.io.IOException;


public class cion {

/**
         * @author Alberto García
* @param args
* @throws IOException
*/
public static void main(String[] args) throws IOException {
File archivo = new File("./ejemplo.txt");//"ejemplo.txt" es el archivo que va a leer
String linea;
FileReader fr = new FileReader (archivo);
BufferedReader br = new BufferedReader(fr);
int cont = 0;

//Mediante el siguiente bucle, vamos leyendo línea a línea, comprobando la condición que queremos buscar
while(((linea=br.readLine())!=null)){
int indice = 0;
while((indice = linea.indexOf("cion",indice))!=-1){
                                     //Mediante la vble indice vamos recorriendo de cuatro en cuatro, para no leer siempre el mismo numero de caracteres
indice+=4;
cont++;
}
while((indice = linea.indexOf("ción",indice))!=-1){
indice+=4;
cont++;
}
                               //Tenemos dos bucles internos para comprobar las dos posibilidades, cion con y sin tilde
}

System.out.println("el número de palabras terminadas en cion: "+ cont);

fr.close();
}

}
------------------------------------------------------------------------------------------
Con eso, ya podremos contar las palabras que contienen o terminan en -cion; 
Aunque siempre y cuando cambiemos la cadena de String dentro del indexOf, podremos tener una amplia variedad de resultados.

Espero que esto les sirva de ayuda.

¿Como contar las líneas de un fichero con Java?

El siguiente código lo usaremos para contar la líneas de un fichero de texto; Este ejercicio esta relacionado con el tratamiento de ficheros de texto en Java.
CONTADOR DE LÍNEAS DE UN FICHERO DE TEXTO.
-------------------------------------------------------------------------------------------------
import java.io.BufferedReader;
import java.io.File;
import java.io.FileNotFoundException;
import java.io.FileReader;
import java.io.IOException;


public class quijote4 {

/**
* @author Alberto Garcia
* @param args
*/
public static void main(String[] args) {
//Indicamos que fichero va a leer el programa, por lo que es un fichero por defecto.
               //En la vble siguiente definimos la ruta en la cual se encuentra el fichero
String nombreFich = ".\ejemplo.txt";

File fichero = new File(nombreFich);
try {
BufferedReader fich = new BufferedReader(new FileReader(nombreFich));
//Usamos la clase BufferReadeader para tener acceso a un metodo propio (readLine()) y asi mediante un contador contar las lineas.
int contadorL = 0;
String linea;
try {
//En este caso la condicion final del while corresponde a null, para indicar el final de linea
while((linea = fich.readLine()) != null){
contadorL++;
}
System.out.println("El número de líneas :" + contadorL);
} catch (IOException e) {
// TODO Bloque catch generado automáticamente
e.printStackTrace();
}
} catch (FileNotFoundException e) {
e.printStackTrace();
}
-------------------------------------------------------------------------------------------------
Como podemos ver el código, es bien sencillo y lo podemos probar mediante cualquier IDE, por ejemplo Eclipse.

Tras la ejecución del programa el resultado aparecerá por la consola de la siguiente forma: El número de líneas : X