Ler ficheiro de texto

4 respostas
R

Olá pessoal!

Estou a precisar muito da vossa ajuda. Aqui em baixo envio-vos o metodo “lerficheiro”, trata-se de um ficheiro que contém um texto longo tipo uma história. O que eu quero fazer é armazenar numa tabela de strings unidimensional cada palavra desse texto. Só que não está a funcionar:(
Alguem me pode ajudar?

Obrigada a todos.

public static void lerficheiro()
	{
		try
		{
			File ficheiro = new File ("hist1.txt");
			FileReader leitorDeFicheiro = new FileReader(ficheiro);
			BufferedReader buff = new BufferedReader (leitorDeFicheiro);
			
			int n;
			String[] x= new String [n];
			

			String linhaLida;
			linhaLida=buff.readLine();
				
				while(linhaLida!=null)
				{
					linhaLida=buff.readLine();
					
					java.util.StringTokenizer coupeur = new java.util.StringTokenizer(linhaLida, " ");
					
					while (coupeur.hasMoreTokens()) 
					{
						System.out.println(coupeur.nextToken());
					
						for(int k = 0; k <x.length; k++)
						{
							x[k]=coupeur.nextToken();
						}
					
					}
				}
			
			buff.close();
		}	
		catch (Exception er)
		{
			System.out.println(er);
		}
	}

4 Respostas

tinorberto

qual o erro que aparece?

Andre_Brito

As palavras são separadas pelo mesmo símbolo (espaço)?
Se sim, podes usar o método split da classe String.

R

Olá!

Fiz algumas modificacoes.

Não tem erros à compilação. O problema agora é que ele não mostra as palavras contidas no arraylist quando executo…:roll: Não sei se o metodo mostrar está correcto. Alguem pode ajudar?

Aqui vai o meu codigo:

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();
	}	
}

Desde já obrigada pela vossa ajuda.

R

Não há ninguém que possa ajudar?
:frowning:

Criado 1 de maio de 2009
Ultima resposta 2 de mai. de 2009
Respostas 4
Participantes 3