Opa galera td blz?
Tou precisando saber como posso fazer isso!
Pesquisar dentro de um txt e retornar uma linha completa!
Alguem tem umas linhas prontas pra demonstrar? o0
Opa galera td blz?
Tou precisando saber como posso fazer isso!
Pesquisar dentro de um txt e retornar uma linha completa!
Alguem tem umas linhas prontas pra demonstrar? o0
Pesquisa… O que você quer achar?
O que você quer?
Segue … espero que te atenda
package br.com.ght.taglib;
import java.io.BufferedReader;
import java.io.FileNotFoundException;
import java.io.FileReader;
import java.io.IOException;
public class LerTxt {
public static String match(String pattern, String filePath) {
try {
FileReader reader = new FileReader(filePath);
BufferedReader leitor = new BufferedReader(reader);
String linha = "";
while(true) {
linha = leitor.readLine();
if( linha == null ) {
break;
}
if( linha.matches(pattern) ) {
return linha;
}
}
} catch (FileNotFoundException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
return "texto não encontrado";
}
public static void main(String[] args) {
System.out.println(match("teste", "d:\teste.txt"));
}
}
{ }
E para procurar em vários arquivos?? por exemplo…em vários txt de uma pasta?
O que quero é que tenha como entrada para a busca:
Nome
Data de Nascimento
E de saida venha a linha mas cada valor separadamente!
A sequencia que está no banco de dados(.txt) é essa:
|JOAO ANDRADE DO NASCIMENTO|2907065|060486|1234567|10,0|9,5|9,0|8,5|8,0|7,5|7,0|6,5|6,0|5,5|5,0|4,5|508,18|13|105|
A ‘|’ é usada para… separar na hora de retirar! A data de aniver sario eh o 3º parametro(06/04/86)!
Um exemplo de saida:
Nome:JOAO ANDRADE DO NASCIMENTO
RG:2907065
Data de Aniversario: 060486
Nº de Inscrição: 1234567
Notas: 10,0|9,5|9,0|8,5|8,0|7,5|7,0|6,5|6,0|5,5|5,0|4,5|
508,18|13|105|
Preciso de um codigo que busque especificamente um local tipo:
“Procure 060486 na coluna de Data de aniversario(3º coluna)!”
O codigo que jah foi postado já me deu uma boa base! Mas tou em duvida como faço isso! =/
E deve ser buscado em varios .txts definidos pelo programador(sem o usuario)!
Vlw galera, abraço!
Você pode procurar um driver JDBC que leia arquivos CSV (tá bom, deveriam ter sido separados por “,”, não por “;”) e fazer queries.
[quote=Xniper]O que quero é que tenha como entrada para a busca:
Nome
Data de Nascimento
E de saida venha a linha mas cada valor separadamente!
A sequencia que está no banco de dados(.txt) é essa:
|JOAO ANDRADE DO NASCIMENTO|2907065|060486|1234567|10,0|9,5|9,0|8,5|8,0|7,5|7,0|6,5|6,0|5,5|5,0|4,5|508,18|13|105|
A ‘|’ é usada para… separar na hora de retirar! A data de aniver sario eh o 3º parametro(06/04/86)!
Um exemplo de saida:
Nome:JOAO ANDRADE DO NASCIMENTO
RG:2907065
Data de Aniversario: 060486
Nº de Inscrição: 1234567
Notas: 10,0|9,5|9,0|8,5|8,0|7,5|7,0|6,5|6,0|5,5|5,0|4,5|
508,18|13|105|
Preciso de um codigo que busque especificamente um local tipo:
“Procure 060486 na coluna de Data de aniversario(3º coluna)!”
O codigo que jah foi postado já me deu uma boa base! Mas tou em duvida como faço isso! =/
E deve ser buscado em varios .txts definidos pelo programador(sem o usuario)!
Vlw galera, abraço!
[/quote]
Acho que você vai precisar fazer na mão isso hein???usando charAt…já tentou???cria um metodo que retorna uma string com o valor retirado do txt…vou tentar fazer aqui em casa…e te mando depois… :oops:
É porque meu amigo fez o programa dele com esses parametros, e para não ter que mudar tudo, só quer que adicione uma busca!
E tou querendo sabe só uma coisa! Tem como programar que ele pegue uma linha e faça com que:
Faça uma busca nos .Txts;
Retorne a linha e depois separe ela em pequenas Strings pra passar para cada parametro(Nome,rg,data niver,…);
E depois mostra na tela, bunitinhho! heheh
Abraço, se conseguir posto o codigo!
public static void leitor(InputStream is,OutputStream os) throws IOException
{
InputStreamReader reader = new InputStreamReader(is);
BufferedReader bufreader = new BufferedReader(reader);
OutputStreamWriter writer = new OutputStreamWriter(os);
BufferedWriter bufwriter = new BufferedWriter(writer);
String str = null;
String verificador = bufreader.readLine();
String c = "|";
int contador = 0;
//System.out.println(verificador);
String[] ar = verificador.split(c);
for(int x=0;x<ar.length;x++)
{
if (!ar[x].equals(null))
{
if (ar[x].equals("|") && contador != 5)
{
switch (contador){
case 0:
bufwriter.write("Nome do fulano: ");
break;
case 1:
bufwriter.newLine();
bufwriter.write("RG: ");
break;
case 2:
bufwriter.newLine();
bufwriter.write("data de nascimento: ");
break;
case 3:
bufwriter.newLine();
bufwriter.write("Numero de inscrição: ");
break;
case 4:
bufwriter.newLine();
bufwriter.write("notas: ");
break;
}
contador++;
}
else
str = ar[x];
bufwriter.write(str);
}
}
bufwriter.close();
bufreader.close();
}
Escrevi Esse código…veja se acha ele útil para com a idéia que tem…
abração >
Usa StringTokenizer para retirar os dados dos delimitadores. É simples de fazer! Pesquise um pouco e conseguirá!
Desculpa a pergunta de minino msm:
public static void leitor(InputStream is,OutputStream os) throws IOException
{
InputStreamReader reader = new InputStreamReader(is);
BufferedReader bufreader = new BufferedReader(reader);
OutputStreamWriter writer = new OutputStreamWriter(os);
BufferedWriter bufwriter = new BufferedWriter(writer);
Não conheço bem InputStreamReader e OutputStream!
C pode me dar uma explicaçãozinha! :oops:
Qual a entrada nessa classe? Posso fazer com que sua saida seja escrita em um banco de dados como mysql?
Vlw galera!