1. Este site usa cookies. Ao continuar a usar este site está a concordar com o nosso uso de cookies. Saber Mais.

Ficheiro de texto

Discussão em 'Programação' iniciada por araqh, 2 de Maio de 2009. (Respostas: 2; Visualizações: 553)

  1. Olá pessoal!

    Estou a precisar muito da vossa ajuda. O que estou a tentar fazer é armazenar numa tabela de strings unidimensional cada palavra contida no ficheiro de texto. Só que não está a funcionar. Não tem erros no momento da compilação...mas quando executo não faz nada...
    alguém me pode ajudar?

    Aqui vai o meu código:

    Código:
    import java.io.*;
    import java.util.*;
    public class Ficheiro
    {
       
       public static void lerficheiro()
       {
          ArrayList<String> a= new ArrayList <String>();
          try
          {
             File ficheiro = new File ("hist1.txt");
             FileReader leitorDeFicheiro = new FileReader(ficheiro);
             BufferedReader buff = new BufferedReader (leitorDeFicheiro);
             
             
             String linhaLida;
             linhaLida=buff.readLine();
                
                while(linhaLida!=null)
                {
                   
                   StringTokenizer st = new StringTokenizer(linhaLida, " ( ) ,.;:-_!?'");
                   
                   linhaLida=buff.readLine();
                   
                   while (st.hasMoreTokens())
                   {
                      for (int i=0; i<a.size(); i++)
                      {
                         a.add(i, new String(st.nextToken()));
                      }
                         
                   }
                   mostrar(a);
                }
             
             buff.close();
          }   
          catch (Exception er)
          {
             System.out.println(er);
          }
       }
    
    
       public static void mostrar(ArrayList <String> b)
       {
          for (int i=0; i<b.size(); i++)
          {
             System.out.println("Mot: "+b.get(i));
             
          }
       }
       
       public static void main(String[] args)
       {
          lerficheiro();
       }   
    }
    Obrigada desde já pelas respostas.
     
  2. AliFromCairo

    AliFromCairo Power Member

    O ciclo for que tens dentro do while é desnecessário, uma vez que para além de nunca ser executado (o array a está vazio, e o valor de a.size() vai ser sempre o mesmo), tu pretendes apenas adicionar tokens no ciclo while. Resumindo:

    Código:
                   while (st.hasMoreTokens())
                   {
                         a.add(new String(st.nextToken()));
                         
                   }
    
     
  3. Obrigada pela resposta.
    Era mesmo isso, muito obrigada pela ajuda :001:
     

Partilhar esta Página