Ler uma linha em um arquivo de texto atraves de uma String

[color=darkred]Boa Noite pessoal estou com um problema estou tentando fazer um metodo que apartir de um parametro passado ao mesmo devolva a linha requisitada de um arquivo de texto escrita no console? Sendo que esse parametro tem de ser uma string alguem ai pode me ajudar em me dar ao menos uma direção pois eu só consequi achar formas de imprimir todas as linhas do arquivo?? Desde já agradeço![/color]

Poste o que você fez até agora. Se você consegue ler todas as linhas, qual a dificuldade em retirar apenas a que deseja ?
Poste o código para gente dar uma olhada e ficar mais fácil de enxergar a dúvida. (Lembrando de postar entre as Tag Code)

[color=darkred]Bem é que na verdade a proposta e fazer uma agenda que grava o nome e o telefone de um contato em uma linha e busca a linha referente a um determinado contato pelo nome que deve ser o parametro do metodo?? Veja meu codigo:[/color]

[code]

public void buscaContato(String nome){

    try{
        BufferedReader in = new BufferedReader (new FileReader(f));

        while((nome= in.readLine())  != null){
             System.out.println(linha);
        }
        in.close();
    }catch(FileNotFoundException e){
        e.printStackTrace();
    }catch(IOException e){
        e.printStackTrace();
    }
}[/code]

Utilizando seu método, bastaria ler cada linha e comparar com o nome passado por parâmetro e retornar quantas o número da linha quando encontrado, não ?
Edit: seu “nome” no while não deveria ser “linha” ?
e se for, tem que saber como o nome está escrito na linha para remover apenas o nome para comparação
Algo como:

        int linhaAtual = 0;
        while((nome= in.readLine())  != null){  
             linhaAtual++;
             if(nomeSalvoNaLinha.compareTo(nome) == 0
                  return linhaAtual;
        }

Não é isso que você quer ?

[color=blue][b]É em vez de nome é linha no while e os contatos na agenda.txt estão cadastrados assim:

Nome: Tiago Bento Alves Telefone: 3294 - ** - ** um em cada linha
o retorno do metodo deve mostar exatamente essa informação no console??[/b][/color]

vou mostrar aqui todo o codigo:

[code]public class GerenciaContatos {

File f = new File("C:\Documents and Settings\Tiago Bento\Desktop\agenda.txt");
public void addContato(String nome , String telefone){
    String status = "";
    try{

        //File f = new File("C:\Documents and Settings\Tiago Bento\Desktop\agenda.txt");
        FileWriter out = new FileWriter(f,true);
        out.write("Nome: "+nome+" ");
        out.write("Telefone: "+telefone);
        out.write("\r\n");
        out.close();
        status = "Gravado com sucesso";
       System.out.println(status);
    }catch(Exception e){
        System.out.println(e.getMessage());
    }
}

public void buscaContato(String linha){

    try{
        BufferedReader in = new BufferedReader (new FileReader(f));

        while((linha = in.readLine())  != null){
             System.out.println(linha);
        }
        in.close();
    }catch(FileNotFoundException e){
        e.printStackTrace();
    }catch(IOException e){
        e.printStackTrace();
    }
}

}[/code]

No processamento das várias vírgulas do primeiro poste eu tinha entendido errado hehe
Você quer simplesmente imprimir a linha que contenha o nome buscado:
então é só usar o método:

if(nomeSalvoNaLinha.compareTo(nome) == 0)
    return linha;

onde esse “nomeSalvoNaLinha” precisa ser uma String contendo só o nome lido do arquivo. Como você está lendo linha pro linha, você precisa filtrar apenas o nome da linha
Exemplo:

[code] String linha = “Nome: Tiago Bento Alves Telefone: 3294 - ** - **”;
String nomeDaLinha = linha.substring(linha.indexOf("Nome: ") + 6, linha
.indexOf(“Telefone:”));

	System.out.println(nomeDaLinha);[/code]

Deve ser mais ou menos assim:

public void buscaContato(String nome){ Scanner in = new Scanner(f); try{ while (in.hasNextLine()) { String linha = in.nextLine(); if (linha.contains(nome)) { System.out.println(linha); } } } catch (Exception e) { throw new RuntimeException(e); } finally { in.close(); } }

Valew pela força galera, deu certo e principlamente entendi a logica, brigadão??