Abrir arquivo, e pesquisar nele

Olá,

eu estou fazendo uma aplicação no qual, eu abro um arquivo, já selecionado no código, e o usuário entra com uma expressão regular, e retorna o conteúdo do arquivo de acordo com a exp. regular. Bem, não faço idéia de como fazer isso, alguém pode me dar uma luz?

Grato.

Tipo um filtro ?
Pra mim não ficou inteiramente claro.

+++

[quote=andre_teprom]Tipo um filtro ?
Pra mim não ficou inteiramente claro.

+++[/quote]

Isso mesmo, como se fosse o Grep, dos sistemas UNIX.

Tem este exemplo que encontrei no google, aí você só precisa mudar o tipo de charset, se for o caso.

http://www.java-tips.org/java-se-tips/java.util.regex/how-to-apply-regular-expressions-on-the-contents-of-a.html

[quote=leandronsp]Tem este exemplo que encontrei no google, aí você só precisa mudar o tipo de charset, se for o caso.

http://www.java-tips.org/java-se-tips/java.util.regex/how-to-apply-regular-expressions-on-the-contents-of-a.html
[/quote]

Oi, leandronsp. Vou tentar adaptar o exemplo à minha aplicação. Postarei os resultados.

Obrigado!

Não consegui adaptar o exemplo para o que eu quero. Vou fazer o seguinte: através do Drag and Drop do NetBeans, vou jogar o conteúdo do arquivo de texto para uma jTextArea. Daí, como eu poderia “filtrar” o conteúdo de acordo com a expressão regular? Para validar um e-mail, estou fazendo isso:

/* Botão de validação */ Pattern padrao = Pattern.compile(jtExpReg.getText()); Matcher pesquisa = padrao.matcher(jtEmail.getText()); if (pesquisa.matches()){ JOptionPane.showMessageDialog(null, "E-mail Válido!"); } else { JOptionPane.showMessageDialog(null, "E-mail Inválido!"); } }

Lembrando que a expressão regular é informada pelo usuário, no campo jtExpReg. Alguém pode me ajudar, por favor?

Obg,
André.

anybody?

Existem inúmeras maneiras…

O problema de fazer isso com exemplos do Google é que as vezes você não entende o código, e isso não é muito bom…
Olha, se eu fosse fazer o que você falou, eu iria, DE CARA, pensar em duas maneiras:

Utilizando o Scanner para ler o arquivo linha por linha, e verificar se na linha que eu to pesquisando CONTÉM o que o usuario digitou…

if ( linhaDoArquivo.contains(jtExpReg.getText()){ System.out.println("Achei o que vc tava procurando!"); }

Se você não quiser usar o Scanner, (que para ser sincero, também acho que não usaria) existem outras classes que oferecem a mesma solução, de forma mais eficiente:

http://download.oracle.com/javase/1.4.2/docs/api/java/io/FileWriter.html - escrever
http://download.oracle.com/javase/1.4.2/docs/api/java/io/FileReader.html - ler

Que tal procurar um tutorial, explicando como funciona cada classe, ou invés de procurar exemplos prontos?
Espero ter ajudado, e desculpe se falei algo que não agradou… Eu quero é só ajudar!
abraços,

[quote=d34d_d3v1l]Existem inúmeras maneiras…

O problema de fazer isso com exemplos do Google é que as vezes você não entende o código, e isso não é muito bom…
Olha, se eu fosse fazer o que você falou, eu iria, DE CARA, pensar em duas maneiras:

Utilizando o Scanner para ler o arquivo linha por linha, e verificar se na linha que eu to pesquisando CONTÉM o que o usuario digitou…

if ( linhaDoArquivo.contains(jtExpReg.getText()){ System.out.println("Achei o que vc tava procurando!"); }

Se você não quiser usar o Scanner, (que para ser sincero, também acho que não usaria) existem outras classes que oferecem a mesma solução, de forma mais eficiente:

http://download.oracle.com/javase/1.4.2/docs/api/java/io/FileWriter.html - escrever
http://download.oracle.com/javase/1.4.2/docs/api/java/io/FileReader.html - ler

Que tal procurar um tutorial, explicando como funciona cada classe, ou invés de procurar exemplos prontos?
Espero ter ajudado, e desculpe se falei algo que não agradou… Eu quero é só ajudar!
abraços,[/quote]

opa, agora sim. vou começar a leitura. muito obrigado.