Ver Mensaje Individual
  #1 (permalink)  
Antiguo 30/03/2013, 05:42
luisfer91
 
Fecha de Ingreso: diciembre-2012
Mensajes: 16
Antigüedad: 11 años, 5 meses
Puntos: 0
Problema con FileReader

Hola me gustaria haceros una consulta ya que llevo un buen rato comiendome el coco y no encuentro una solución.
Estoy utilizando la siguiente acción para leer archivos de texto:
Código:
 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"";
      }
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)
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:
    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);
      
      
      }
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.
Con las palabras me pasa lo mismo, este es el codigo que estoy utilizando para ellas:
Código:
		    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);
      }
¿Alguna sugerencia?
Gracias