Seja bem vindo ao Fórum do JavaFree.org
Aqui você irá encontrar respostas para TUDO o que você precisa sobre java.
Deseja participar? Crie sua conta ou efetue seu login
Preciso da seguinte ajuda: tenho um arquivo txt com diversos valores... Exemplo :
A|2.00|NFe| B|43||DEVOLUCAO DE VENDA P/SUBST.TRI|0|55|0|2642|2012-03-07|2012-03-07||0|4304606|1|1||1|0|1|||| C|CASA DA CONSTRUCAO GUAIBA LTDA|CASA CONSTR|0580097099||||3| C02|03705494000106|
no inicio de cada linha temos uma letra, e cada letra corresponde a determinada parte de uma nota fiscal. ex: Letra A - atributos da nf-e, B- Identificadores da nf-e e por aí vai. Eu preciso ler cada letra e os valores que estão entre os PIPES ||, se um desses pipes estiver preenchido com o valor incorreto ou não estiver preenchido e este preenchimento for obrigatório que ele me mostre o pipe que está errado... porém eu não sei como leio pipe por pipe. Conforme a leitura é feita eu quero ir adicionando cada valor a uma variavel para depois dizer se o valor tal do campo tal está certo e se não estiver mostrar onde está errado!
preciso de uma luz se alguem puder me ajudar... Nao quero que me deem o código pronto, quero apenas aprender como fazer esta leitura. Obrigado desde já!
Preciso da seguinte ajuda: tenho um arquivo txt com diversos valores... Exemplo :
A|2.00|NFe| B|43||DEVOLUCAO DE VENDA P/SUBST.TRI|0|55|0|2642|2012-03-07|2012-03-07||0|4304606|1|1||1|0|1|||| C|CASA DA CONSTRUCAO GUAIBA LTDA|CASA CONSTR|0580097099||||3| C02|03705494000106|
no inicio de cada linha temos uma letra, e cada letra corresponde a determinada parte de uma nota fiscal. ex: Letra A - atributos da nf-e, B- Identificadores da nf-e e por aí vai. Eu preciso ler cada letra e os valores que estão entre os PIPES ||, se um desses pipes estiver preenchido com o valor incorreto ou não estiver preenchido e este preenchimento for obrigatório que ele me mostre o pipe que está errado... porém eu não sei como leio pipe por pipe. Conforme a leitura é feita eu quero ir adicionando cada valor a uma variavel para depois dizer se o valor tal do campo tal está certo e se não estiver mostrar onde está errado!
preciso de uma luz se alguem puder me ajudar... Nao quero que me deem o código pronto, quero apenas aprender como fazer esta leitura. Obrigado desde já!
Cria uma classe NotaFiscal com todos atributos que serão usados em cada arquivo, faça a leitura do arquivo linha a linha (Aqui mesmo no forum tem varios exemplos de leitura de arquivo), faça uma validação com um IF, de acordo com cada letra chame um metodo previamente criado que ficara encarregado de receber um array e ira settar os atributos com esses valores, esse array saira do metodo .split("|").
Para cada linha do arquivo vc usara este metodo que separa a String em um array, cada indice ficara o espaço entre um pipe a outro.
No mesmo metodo que setta os valores, devera fverificar se o valor é igual a "", caso sim retorne a informação de qual variavel esta faltando...
Vc ja tentou algo??? posta ai, fica mais facil de entender!!!
_________________
O melhor lugar para se esconder um cadáver, é na segunda página do Google.
Ainda nao comecei eu vo desenvolve esse projeto na base da pesquisa porque eu sei só o basicão, dei uma lida a respeito do split aqui no fórum mesmo e vou começar a fazer hoje, assim que tiver algo pronto ou alguma dúvida vou postando!
Essa foi a situação que usei para ler, eu teria que ter atributos de A-Z para receber cada linha, isso? E a minha variavel linha teria que ser criada usando o String.split() pra tornar ela um array?
Essa foi a situação que usei para ler, eu teria que ter atributos de A-Z para receber cada linha, isso? E a minha variavel linha teria que ser criada usando o String.split() pra tornar ela um array?
Obrigado!
Não nessariamente, vc pode ter apenas uma array que receba os valores dessa linha atraves do metodo split(), settar os campos com os valores de cada indice, e cada loop sobrepor esse mesmo array, não precisa criar inumeras variaveis para infitas linhas do arquivo, é só vc usar os valores logo em seguida e indo sobrepondo... ficou claro???
_________________
O melhor lugar para se esconder um cadáver, é na segunda página do Google.
No exemplo acima eu queria que imprimisse somente a primeira linha e imprimi a primeira letra de cada coluna ao invés da primeira linha da nota;
eu coloquei o número [1] no array para a impressão da primeira linha, mas a minha intensão seria usar uma variável i=0 e a cada loop usar i++ para pular linha por linha. Está certo eu usar o while? ou uso o for?
No exemplo acima eu queria que imprimisse somente a primeira linha e imprimi a primeira letra de cada coluna ao invés da primeira linha da nota;
eu coloquei o número [1] no array para a impressão da primeira linha, mas a minha intensão seria usar uma variável i=0 e a cada loop usar i++ para pular linha por linha. Está certo eu usar o while? ou uso o for?
Obrigado!
Nossa, desculpe-me, mas não entendi nada agora... vc quer pegar a primeira coluna de cada linha que é onde a letra esta??? se for isso é so trocar o 1 pelo 0, não precisa usar o uma variavel não para isso, sempre será no indice 0.
Ficou muito confuso, tente explicar melhor sua duvida.
_________________
O melhor lugar para se esconder um cadáver, é na segunda página do Google.
A primeira linha seria A|2.00|NFe| segunda linha B|43||COMPRA P/ COMERCIALIZACAO|0|55|0|2534|2012-03-06|2012-03-06||0|4314902|1|1||2|1|0|2.0.5|||
eu gostaria que fossem impressas como acima, mas com o código que postei antes a impressão sai da seguinte forma: 1º linha A| 2º linha B|
Outra coisa que não ficou muito clara pra mim é a forma que eu vou dizer que entre PIPES || eu tenho que ter o seguinte valor, sendo que na mesma linha eu tenho diversos pipes... uso o split pra armazenar os valores de cada pipe? ou armazeno a linha em um split e valido os valores de outra forma?
A primeira linha seria A|2.00|NFe| segunda linha B|43||COMPRA P/ COMERCIALIZACAO|0|55|0|2534|2012-03-06|2012-03-06||0|4314902|1|1||2|1|0|2.0.5|||
eu gostaria que fossem impressas como acima, mas com o código que postei antes a impressão sai da seguinte forma: 1º linha A| 2º linha B|
Outra coisa que não ficou muito clara pra mim é a forma que eu vou dizer que entre PIPES || eu tenho que ter o seguinte valor, sendo que na mesma linha eu tenho diversos pipes... uso o split pra armazenar os valores de cada pipe? ou armazeno a linha em um split e valido os valores de outra forma?
Desculpa a demora e obrigado pela ajuda!
O split("|") retornara um array de String com valores entre Pipes, Vc terá que validar indice por indice do array e lançar uma exceção caso haja algum valor invalido, ou dar continuidade caso o valor esteja correto, para isto não tem como usar um while ou for, pois cada indice tem um valor valido.
_________________
O melhor lugar para se esconder um cadáver, é na segunda página do Google.
jonathancba Offline
Posts: 5
Preciso da seguinte ajuda: tenho um arquivo txt com diversos valores...
Exemplo :
A|2.00|NFe|
B|43||DEVOLUCAO DE VENDA P/SUBST.TRI|0|55|0|2642|2012-03-07|2012-03-07||0|4304606|1|1||1|0|1||||
C|CASA DA CONSTRUCAO GUAIBA LTDA|CASA CONSTR|0580097099||||3|
C02|03705494000106|
no inicio de cada linha temos uma letra, e cada letra corresponde a determinada parte de uma nota fiscal. ex: Letra A - atributos da nf-e, B- Identificadores da nf-e e por aí vai. Eu preciso ler cada letra e os valores que estão entre os PIPES ||, se um desses pipes estiver preenchido com o valor incorreto ou não estiver preenchido e este preenchimento for obrigatório que ele me mostre o pipe que está errado... porém eu não sei como leio pipe por pipe. Conforme a leitura é feita eu quero ir adicionando cada valor a uma variavel para depois dizer se o valor tal do campo tal está certo e se não estiver mostrar onde está errado!
preciso de uma luz se alguem puder me ajudar... Nao quero que me deem o código pronto, quero apenas aprender como fazer esta leitura.
Obrigado desde já!
D3z40 Offline
Posts: 480
Cria uma classe NotaFiscal com todos atributos que serão usados em cada arquivo, faça a leitura do arquivo linha a linha (Aqui mesmo no forum tem varios exemplos de leitura de arquivo), faça uma validação com um IF, de acordo com cada letra chame um metodo previamente criado que ficara encarregado de receber um array e ira settar os atributos com esses valores, esse array saira do metodo .split("|").
Para cada linha do arquivo vc usara este metodo que separa a String em um array, cada indice ficara o espaço entre um pipe a outro.
No mesmo metodo que setta os valores, devera fverificar se o valor é igual a "", caso sim retorne a informação de qual variavel esta faltando...
Vc ja tentou algo??? posta ai, fica mais facil de entender!!!
_________________
O melhor lugar para se esconder um cadáver, é na segunda página do Google.
jonathancba Offline
Posts: 5
Ainda nao comecei eu vo desenvolve esse projeto na base da pesquisa porque eu sei só o basicão, dei uma lida a respeito do split aqui no fórum mesmo e vou começar a fazer hoje, assim que tiver algo pronto ou alguma dúvida vou postando!
Muito Obrigado!
jonathancba Offline
Posts: 5
Essa foi a situação que usei para ler, eu teria que ter atributos de A-Z para receber cada linha, isso? E a minha variavel linha teria que ser criada usando o String.split() pra tornar ela um array?
Obrigado!
Advertência em 27/06/2012 05:36:59 por simu:
Use sempre as tags code para marcar códigos. Exemplo:
[code] public static void main ... [/code]Por favor, edite a sua mensagem.D3z40 Offline
Posts: 480
Não nessariamente, vc pode ter apenas uma array que receba os valores dessa linha atraves do metodo split(), settar os campos com os valores de cada indice, e cada loop sobrepor esse mesmo array, não precisa criar inumeras variaveis para infitas linhas do arquivo, é só vc usar os valores logo em seguida e indo sobrepondo... ficou claro???
_________________
O melhor lugar para se esconder um cadáver, é na segunda página do Google.
jonathancba Offline
Posts: 5
No exemplo acima eu queria que imprimisse somente a primeira linha e imprimi a primeira letra de cada coluna ao invés da primeira linha da nota;
eu coloquei o número [1] no array para a impressão da primeira linha, mas a minha intensão seria usar uma variável i=0 e a cada loop usar i++ para pular linha por linha. Está certo eu usar o while? ou uso o for?
Obrigado!
D3z40 Offline
Posts: 480
Nossa, desculpe-me, mas não entendi nada agora... vc quer pegar a primeira coluna de cada linha que é onde a letra esta??? se for isso é so trocar o 1 pelo 0, não precisa usar o uma variavel não para isso, sempre será no indice 0.
Ficou muito confuso, tente explicar melhor sua duvida.
_________________
O melhor lugar para se esconder um cadáver, é na segunda página do Google.
chuyun Offline
Posts: 2
Para cada linha do arquivo vc usara este metodo que separa a String em um array, cada indice ficara o espaço entre um pipe a outro.
_________________
Banido (g.gif)
jonathancba Offline
Posts: 5
A primeira linha seria A|2.00|NFe|
segunda linha B|43||COMPRA P/ COMERCIALIZACAO|0|55|0|2534|2012-03-06|2012-03-06||0|4314902|1|1||2|1|0|2.0.5|||
eu gostaria que fossem impressas como acima, mas com o código que postei antes a impressão sai da seguinte forma:
1º linha A|
2º linha B|
Outra coisa que não ficou muito clara pra mim é a forma que eu vou dizer que entre PIPES || eu tenho que ter o seguinte valor, sendo que na mesma linha eu tenho diversos pipes... uso o split pra armazenar os valores de cada pipe? ou armazeno a linha em um split e valido os valores de outra forma?
Desculpa a demora e obrigado pela ajuda!
D3z40 Offline
Posts: 480
O split("|") retornara um array de String com valores entre Pipes, Vc terá que validar indice por indice do array e lançar uma exceção caso haja algum valor invalido, ou dar continuidade caso o valor esteja correto, para isto não tem como usar um while ou for, pois cada indice tem um valor valido.
_________________
O melhor lugar para se esconder um cadáver, é na segunda página do Google.
Relacionados
Como armazenar uma variável mesmo depois do aplicativo terminar de ser executado? http://javafree.uol.com.br/topic-883423-Como-armazenar-uma-variavel-mesmo-depois-do-aplicativo-terminar-de-ser-executado.html java.lang.String cannot be cast to [Ljava.lang.Object; http://javafree.uol.com.br/topic-890193-javalangString-cannot-be-cast-to-LjavalangObject.html Validação de CPF em JSP http://javafree.uol.com.br/topic-1743-Validacao-de-CPF-em-JSP.html Redirecionamento através de struts http://javafree.uol.com.br/topic-866381-Redirecionamento-atraves-de-struts.html Sistema em Rede http://javafree.uol.com.br/topic-860266-Sistema-em-Rede.html PK - Dispensavel!? http://javafree.uol.com.br/topic-865550-PK-Dispensavel.html Janela já aberta? http://javafree.uol.com.br/topic-5543-Janela-ja-aberta.html Banco de dados "portátil" alguem sabe como? http://javafree.uol.com.br/topic-13135-Banco-de-dados-"portatil"-alguem-sabe-como.html Como as coisas mudam.... :D http://javafree.uol.com.br/topic-848686-Como-as-coisas-mudam-D.html