Estoy utilizando la siguiente acción para leer archivos de texto:
Código:
La acción funciona bien, mi problema es más adelante ya que necesito conseguir que me diga cuantas lineas y vocales hay en el texto que lea (a parte de otras cosas xD) public static String Reader (String arxiu) {
int i = 1, num_lletres; String s = "";
BufferedReader entrada;
boolean error = false;;
try {
String info = "";
FileReader fr = new FileReader(arxiu); // Ruta logica de l'arxiu que volem llegir
entrada = new BufferedReader(fr);
while((s = entrada.readLine()) != null) // Mentre trobi linees en l'arxiu
{
info = info + s;
System.out.println(i++ + ":\t" + s);
}
entrada.close();
return(info);
}
catch(java.io.FileNotFoundException fnfex) {
System.out.println("Arxiu no trobat: " + fnfex);}
catch(java.io.IOException ioex) {}
return"";
}
El tema es que si no usase el FileReader y crease un texto desde una String poniendo \n para cambiar de linea consigo que me diga cuantas lineas hay con esta función:
Código:
Pero con el texto del FileReader no hay manera que me localice los \n por lo que no consigo que el programa localice cuantas lineas hay. public static int devolver_linea(String info)
{
String word;
StringTokenizer tokenizer;
int wordCount=0;
String retorno="";
tokenizer = new StringTokenizer (info, "\n");
while (tokenizer.hasMoreTokens())
{ word = tokenizer.nextToken();
if (info.length() > wordCount) {
wordCount++;
}
}
return (wordCount);
}
Con las palabras me pasa lo mismo, este es el codigo que estoy utilizando para ellas:
Código:
¿Alguna sugerencia? public static int NumPalabras ( String frase ) {
String word;
StringTokenizer tokenizer;
int wordCount=0;
tokenizer = new StringTokenizer (frase);
while (tokenizer.hasMoreTokens())
{
word = tokenizer.nextToken();
if (word.length()<frase.length()) wordCount++;
}
return (wordCount);
}
Gracias


