| Autor |
Mensagem |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 10/05/2011 08:18:12
|
david.jv
JavaTeenager
Membro desde: 01/10/2010 15:26:54
Mensagens: 193
Offline
|
Galera, é o seguinte, tenho uns 3000 scripts (na verdade, são arquivos txt) e gostaria de verificar se existe determinada palavra dentro desses arquivos.txt
Por exemplo: tenho dois arquivos .txt, em um deles está escrito:
"Ajude-me por favor (quebra de linha)
Não estou conseguindo resolver esse problema."
No segundo está escrito:
"Isso é possível (quebra de linha)
em arquivos .txt"
gostaria de verificar se a palavra 'resolver' existe no primeiro arquivo e a palavra 'possível' existe no segundo arquivo.
Ler os arquivos eu consigo, só não consigo fazer essa verificação. Se alguém souber e puder me ajudar eu agradeço.
This message was edited 1 time. Last update was at 10/05/2011 13:36:46
|
|
|
 |
|
|
![[Post New]](/templates/default/images/icon_minipost_new.gif) 10/05/2011 08:21:29
|
nel
JWizard
![[Avatar]](/images/avatar/1a9537e58dcb1a9913e1fc10c65c7994.jpg)
Membro desde: 01/10/2009 13:51:10
Mensagens: 2364
Offline
|
Bom dia!
Se já consegue ler o arquivo, podes ler o mesmo linha a linha ou se já tem a certeza que trata-se de um arquivo .txt, basta transformar o byte[] em String (new String(byte[]) e depois usar o método contains, ele vai lhe retornar indicando se a palavra existe ou não.
Abraços.
|
"Se houver a terceira guerra mundial eu não sei como será mas a quarta será com paus e pedras" Albert Einsten. |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 10/05/2011 09:22:40
|
david.jv
JavaTeenager
Membro desde: 01/10/2010 15:26:54
Mensagens: 193
Offline
|
nel, tem como eu especificar qual a linha que ele vai ler primeiro? pois eu preciso ler apenas a linha 28 e fazer a verificação.
|
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 10/05/2011 09:28:38
|
jscamara
Entusiasta Java
![[Avatar]](/images/avatar/beac797b340f530d5d971e8650122b51.png)
Membro desde: 07/02/2010 14:38:21
Mensagens: 21
Offline
|
Fala cara,
ler determinada linha não tem como... pelo menos eu precisei outro dia e não encontrei solução.
O que você pode fazer eh contar as linhas enquanto vc vai lendo uma a uma.
Voce pode usar o BufferedReader para ler a linha, tem o metodo .readLine().
Aew como o Nel sugeriu vc usa o .contains() da classe String !
Abraços
|
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 10/05/2011 10:02:03
|
nel
JWizard
![[Avatar]](/images/avatar/1a9537e58dcb1a9913e1fc10c65c7994.jpg)
Membro desde: 01/10/2009 13:51:10
Mensagens: 2364
Offline
|
david.jv wrote:nel, tem como eu especificar qual a linha que ele vai ler primeiro? pois eu preciso ler apenas a linha 28 e fazer a verificação.
Eu estaria sendo leviano se disser que sim ou que não, pois para ser sincero, não sei.
Tudo depende do formato do seu .txt.
Por exemplo, se você me diz que ele é separado sempre por quebra de linha, você pode transformar em String, aplicar um regex, esse regex vai lhe retornar um array com n posições e ai sim, você pega a posição 27 (começa em 0). É uma idéia.
Eu aconselho dai a usar o regex assim:
Tente, é uma idéia.
Abraços.
|
"Se houver a terceira guerra mundial eu não sei como será mas a quarta será com paus e pedras" Albert Einsten. |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 10/05/2011 10:07:04
|
david.jv
JavaTeenager
Membro desde: 01/10/2010 15:26:54
Mensagens: 193
Offline
|
entendi jscamara, estou modificando o meu código, pois estou pegandos as palavras que preciso verificar de uma planilha no excel. quando terminar eu posto o código para vocês darem uma olhada e ver se está correto
|
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 10/05/2011 10:08:55
|
david.jv
JavaTeenager
Membro desde: 01/10/2010 15:26:54
Mensagens: 193
Offline
|
nel, sua idéia foi legal, mas a outra também deu certo, quando eu terminar eu posto o código, daí se vocês acharem melhor alterar alguma coisa vocês me falam.
|
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 10/05/2011 13:02:44
|
david.jv
JavaTeenager
Membro desde: 01/10/2010 15:26:54
Mensagens: 193
Offline
|
galera, tá ai o código:
Testei e funcionou
This message was edited 1 time. Last update was at 10/05/2011 13:07:16
|
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 10/05/2011 13:12:28
|
david.jv
JavaTeenager
Membro desde: 01/10/2010 15:26:54
Mensagens: 193
Offline
|
david.jv wrote:galera, tá ai o código:
Testei e funcionou
|
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 10/05/2011 13:13:09
|
david.jv
JavaTeenager
Membro desde: 01/10/2010 15:26:54
Mensagens: 193
Offline
|
pessoal, foi mal, o primeiro código que eu postei era o errado, mas já corrigi. O código acima agora está correto
|
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 10/05/2011 13:20:38
|
david.jv
JavaTeenager
Membro desde: 01/10/2010 15:26:54
Mensagens: 193
Offline
|
se alguém tiver uma dica para melhorar esse código me avise, ou poste ai. Agradeço ao nel e ao jscamara
|
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 10/05/2011 13:23:56
|
nel
JWizard
![[Avatar]](/images/avatar/1a9537e58dcb1a9913e1fc10c65c7994.jpg)
Membro desde: 01/10/2009 13:51:10
Mensagens: 2364
Offline
|
Não esqueça de colocar como [Resolvido] no seu tópico e de dar o close nos seus inputstream.
E antes disso, você precisa instanciar tudo dentro do seu loop?
Ao que eu vi, não podes instanciar fora dele?!
Caso o arquivo não altere o nome, deixe fora do seu loop e após sua utilização, execute os respectivos closes ok?
Abraços!
|
"Se houver a terceira guerra mundial eu não sei como será mas a quarta será com paus e pedras" Albert Einsten. |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 10/05/2011 13:35:01
|
david.jv
JavaTeenager
Membro desde: 01/10/2010 15:26:54
Mensagens: 193
Offline
|
nel wrote:Não esqueça de colocar como [Resolvido] no seu tópico e de dar o close nos seus inputstream.
E antes disso, você precisa instanciar tudo dentro do seu loop?
Ao que eu vi, não podes instanciar fora dele?!
Caso o arquivo não altere o nome, deixe fora do seu loop e após sua utilização, execute os respectivos closes ok?
Abraços!
Boa nel, esqueci de fechar os inputstream. Eu preciso instanciar sim dentro do loop, pois os nomes dos arquivos mudam (são 3 mil scripts (.txt)).
VLw
|
|
|
 |
|
|