Abrir arquivo, e pesquisar nele

8 respostas
Andre_Rosa

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.

8 Respostas

andre_teprom

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

+++

Andre_Rosa

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

+++

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

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

Andre_Rosa

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

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

Obrigado!

Andre_Rosa

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é.

Andre_Rosa

anybody?

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,

Andre_Rosa

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,

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

Criado 21 de abril de 2011
Ultima resposta 23 de abr. de 2011
Respostas 8
Participantes 4