Ver Mensaje Individual
  #1 (permalink)  
Antiguo 27/04/2010, 13:07
AdRii
 
Fecha de Ingreso: agosto-2008
Mensajes: 96
Antigüedad: 15 años, 10 meses
Puntos: 3
leer fichero caracter a caracter

Hola quiero hacer una pequeña aplicacion que me trae de cabeza, quiero que de un fichero txt me cuente la cantidad de veces que aparece una pareja de letras, o simbolos, por ejemplo un fichero txt con la palabra cocotero
co - oc - co - ot - te - er - ro
y luego contar las repeticiones, por ejemplo co aparece dos veces

he ehcho este codigo pero nada no funciona ya que no soy capaz de controlar el fin de fichero y leo enteros y se hacen cosas raras..

Aver si alguien sabe por que el bucle while nunca para y por que me salen caracteres raros si solo tengo un txt con 3 letras aaa

public static void main(String[] args) {
// TODO Auto-generated method stub
Lista L = new Lista();

System.out.println("Comenzando a analizar fichero fuente..");

try {
//BufferedReader bf = new BufferedReader(new FileReader("muestra.txt"));
char primero;
char segundo;

/*try {
primero = (char) bf.read();
segundo = (char) bf.read();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}*/

FileReader f = new FileReader("muestra.txt");

try {
primero = (char) f.read();
segundo = (char) f.read();

while(segundo != -1) {

String s = "" + (char) primero + (char) segundo;
System.out.println((char) primero);
System.out.println(segundo);
System.in.read();
//Tupla T = new Tupla(s, 1);
//L.add(T);

primero = segundo;
segundo = (char) f.read();
}
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}

} catch (FileNotFoundException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}

System.out.println("Guardando resultados en el fichero resultados.csv");
L.mostrar("resultados.csv");
System.out.println("Fichero guardado con exito");
}