Pesquisa de expressões em ficheiros

1 resposta
B
bmbsimoes:
Boa tarde

Tenho um exercício para fazer que é criar um programa para realizar pesquisas em ficheiros,
se a expressão existir no ficheiro deve ser indicada a linha ou linhas onde se encontra, caso contrário
deve ser indicado que a expressão não foi encontrada. talvez utilizando o método indexOf ou o contains????

respeitando o seguinte esboço:

dados pedidos ao utilizador

Ficheiro: dados.txt
Expressão: rolha

o ficheiro dados.txt contem a expressão rolha na linha 2.

Exemplo de conteúdo do ficheiro:

o rato roeu
a rolha da garrafa
de rum do rei da Rússia .

Como sou novo nisto apenas consigo fazer o seguinte:

import java.io.*;

public class LeFicheiro {


	public static void main(String[] args) throws Exception {
	

		BufferedReader teclado = new BufferedReader(
				new InputStreamReader (System.in));

		String file,expressao;
		
		System.out.println("PESQUISA DE EXPRESSÕES EM FICHEIROS");
		
		System.out.println("Ficheiro: ");
		file = teclado.readLine();
		
		BufferedReader input = new BufferedReader(new InputStreamReader( 
				new FileInputStream(new File(file))));
		
		System.out.println("Expressão a pesquisar: ");
		
		
		int pesquisa = file.indexOf(teclado.readLine());
	    
	    if(pesquisa == -1)
	        System.out.println("O valor pesquisado não foi encontrado.");
	      else
	        System.out.println("O valor foi encontrado no índice: " + pesquisa); 
		
	}

}

Se alguém poder ajudar.

obrigado

1 Resposta

R

Abra o arquivo que deseja pesquisar através de um BufferedReader, extraia as linhas do arquivo via BufferedReader.readLine() e em seguida use String.indexOf() ou String.contains() em cada linha lida:

http://www.exampledepot.com/egs/java.io/ReadLinesFromFile.html

Criado 20 de julho de 2009
Ultima resposta 20 de jul. de 2009
Respostas 1
Participantes 2