Pesquisar uma palavra dentro de um arquivo TXT

Pessoal! Sou novo em Java e estou tentando fazer um método que percorra um arquivo txt ache a palavra que estou procurando e me retorne a linha completa do arquivo. Este é o código com a minha lógica!

public static String ConsultaEmpresa(File fileEmpre, String razaoSocialEmpre)throws FileNotFoundException {

BufferedReader bufferedReader = **new** BufferedReader( **new** FileReader(fileEmpre));

String linha = "";

String vetorlido[];

vetorlido = linha.split(" - ");

**try** {

**while** ((linha = bufferedReader.readLine())!= **null** && vetorlido[0] != razaoSocialEmpre) {

linha = bufferedReader.readLine();

**if** (vetorlido[0] == razaoSocialEmpre) {

System. ***out*** .println(linha);

} **else** {

System. ***out*** .println("Empresa não encontrada");

}

}

}

**catch** (IOException e) {

}

**return** linha;

}

O problema com o código é que não cai no if, sempre vai para Empresa não encontrada.
Se alguém pudesse me ajudar ficaria mto grato!

Para comparar o conteúdo de duas String você precisa usar o método equals() e não o operador de igualdade == como você fez em

if (vetorlido[0] == razaoSocialEmpre)

e

while ((linha = bufferedReader.readLine()) != null && vetorlido[0] != razaoSocialEmpre)

O correto é:

if (vetorlido[0].equals(razaoSocialEmpre))

O operador de igualdade compara a área de memória do objeto e não o valor. Se as variáveis a serem comparadas são primitivas (int, long, char, etc.) aí, sim, dá pra usar o ==.

Vlw! Agora deu certo! Eu utilizei o if (!linha.contains(nomeFunc)) {

salvar.add(linha);

}