Rodrigo, valeu a dica. Eu estava imaginando que isso seria um empecilho
mesmo para um desenvolvimento em XML para arquivos TXT que já são muito
grandes.
Mas eu imagino que para os arquivos de pequeno porte talvez a coisa seja
viável, mesmo porque eu estou pensando em reusabilidade, portabilidade e
transações também. E creio que a performace deste sistema poderia melhorar
consideravelmente tendo em vista que não gastaria processamento com
abertura, leitura e processamento de cada linha de arquivo. O que vc acha ?
Nós aqui na Secretaria de Fazenda de MT estamos migrando tudo para JAVA e
Oracle.
Carlos


***********************************************
Carlos Santiago
[EMAIL PROTECTED]
Programador JAVA
Equipe de Implementação - SAGETI
Secretaria de Estado de Fazenda - MT
***********************************************


                                                                                       
                                                
                      Rodrigo Rodrigues                                                
                                                
                      <rodrigo2naomi@ya        Para:     [EMAIL PROTECTED]      
                                                
                      hoo.com.br>              cc:                                     
                                                
                                               Assunto:  Re: [java-list] JAVA e XML    
                                                
                      19/01/2003 17:22                                                 
                                                
                      Favor responder a                                                
                                                
                      java-list                                                        
                                                
                                                                                       
                                                
                                                                                       
                                                




Boa tarde,

Vou responder por experiencia propria,

Tambem estou desenvolvendo um sistema de ETL (Extract
Transform e Load).
Meus arquivos tambem sao txt e provem de um ERP SAP.
Tem em torno de 150 000 linhas.
Eh totalmente descartada a utilizacao de XML, os
arquivos no minimo quadruplicam seu tamanho. O XML eh
mais adequado para transacoes, exchange e coisas do
tipo nao para carga de dados.

Soh por curiosidade qual o seu banco de dados, se for
Oracle voce pode tratar os txt´s por pl/sql, tenho
exemplos se precisar.

Temais.

 --- [EMAIL PROTECTED] escreveu: > Gostaria de
colocar uma questão para a galera da
> lista.
> Estou num projeto que manipula conteúdo de arquivos
> TXT e os grava num
> banco de dados. Até aí, sem problemas e nem
> novidades.
> A questão é que estes conteúdos são disponibilisados
> em linhas, minha
> aplicação lê cada uma destas linhas e as sub-divide
> em subStrings, e cada
> subString é uma informação que deve ser gravada em
> banco.
> Exemplo de uma linha deste arquivo:
>
> 5002951224000104131858602     20020625MT01UN
>
194946163000000000130000000000013000000000000221000000000000000000000000001700N

>
> Trecho de código de processamento desta linha:
>
>       (...)
>       tipo = (linha.substring(0, 2));
>       cpfCnpj = linha.substring(2, 16).trim();
>       cfop = Integer.parseInt(linha.substring(53,
> 56).trim());
>       inscEstd = (linha.substring(16, 30).trim());
>       (...)
>
> Estas variáveis são gravadas no banco.
> Como disse, até aí sem problema. Mas existem
> arquivos cujo tamanho variam
> entre 40 e 100MB com cerca de 80mil a 840mil linhas,
> e cada uma destas
> linhas deve ser lida e processada.
> Como eu uso File para poder ler estes arquivos o
> consumo de memória é alto,
> pois estes arquivos são carregados na memória até o
> fim de seu
> processamento e os lotes de arquivos são da ordem de
> 2000 a 5000 arquivos.
> O que não é problema, a princípio, para os servers
> que temos aqui.
> O problema, na minha opinião e gostaria de poder ler
> a de vcs, é que se
> ouver uma mudança no padrão do tamanho da linha ou
> algum dado fora de lugar
> o processamento desta linha fica comprometido. Ou no
> caso concreto onde a
> variável cfop (do exemplo acima) não terá mais
> tamanho 3, passando a ter
> tamanho 4, isso faz com que eu tenha que mudar todas
> as outras
> "coordenadas" de varáveis, para poder pegar a
> informação correta.
> A minha idéia era a de acabar com esse lance de ter
> que ler linha a linha e
> sub-dividi-lás em subStrings.
> Poderia ter um arquivo XML parecido com este trecho:
>
> <tipo>50</tipo>
> <cpfCnpj>02951224000104</cpjCnpj>
> <cfop>616</cfop>
> <inscEstd>131858602</inscEstd>
>
> e assim por diante. Desta forma poderia acessar
> diretamente a informação
> que desejo.
> Claro que devemos fazer uma DTD para estes arquivos,
> pois cada <tipo> de
> linha tem a sua particularidade, mas isso também não
> seria problema.
> Bem, se transformar as linhas do arquivo TXT em tags
> de arquivos XML não é
> o problema, porque a questão ? Bem, se um arquivo
> texto, que só tem
> caracteres ANSI pode chegar a ter 100MB como ficará
> um arquivo XML com um
> monte de tags ? Muito maior que um arquivo TXT !
> Mas eu acho que a vantagem seria a seguinte
> (gostaria que alguém me
> confirmasse):
>
> 1) Apesar do arquivo ser maior em MB as informações
> estarão dispostas de
> forma ordenada e se um campo mudar de tamanho não
> seria necessário mudar o
> processamento as outras variáveis.
> 2) Mesmo sendo maior em MB isso não acarretaria
> grandes transtornos de uso
> de memória tendo em vista que não usaria File para
> ler o arquivos, e depois
> cada linha do arquivo. Usando a API  XML de JAVA
> (um parser) o mesmo
> carregaria na memória apenas a estrutura DOM do
> documento e isso é mais
> leve do que o arquivo como um todo. Posso usar esta
> estrutura para
> manipular as informações do arquivo.
> 3) Ganharia em velocidade de processamento, pois
> poderia acessar
> diretamente as informações desejadas e não ter que
> ficar "picando" linha a
> linha para separar a informação desejada, lembrando
> que tem arquivo com
> mais de 800mil linhas !
>
> A galera que trabalha com arquitetura/projeto
> poderia opinar sobre esta
> possibilidade ?
> Tem alguém na lista que já implementou JAVA com XML
> pra valer ?
> Alguém sabe de padrões para JAVA com XML ?
>
> Abraço
> Carlos
>
> ***********************************************
> Carlos Santiago
> [EMAIL PROTECTED]
> Programador JAVA
> Equipe de Implementação - SAGETI
> Secretaria de Estado de Fazenda - MT
> ***********************************************
>
>
>
> ------------------------------ LISTA SOUJAVA
> ----------------------------
> http://www.soujava.org.br  -  Sociedade de Usuários
> Java da Sucesu-SP
> dúvidas mais comuns:
> http://www.soujava.org.br/faq.htm
> regras da lista:
> http://www.soujava.org.br/regras.htm
> historico:
>
http://www.mail-archive.com/java-list%40soujava.org.br
> para sair da lista: envie email para
> [EMAIL PROTECTED]
>
-------------------------------------------------------------------------
>

_______________________________________________________________________
Busca Yahoo!
O melhor lugar para encontrar tudo o que você procura na Internet
http://br.busca.yahoo.com/

------------------------------ LISTA SOUJAVA ----------------------------
http://www.soujava.org.br  -  Sociedade de Usuários Java da Sucesu-SP
dúvidas mais comuns: http://www.soujava.org.br/faq.htm
regras da lista: http://www.soujava.org.br/regras.htm
historico: http://www.mail-archive.com/java-list%40soujava.org.br
para sair da lista: envie email para [EMAIL PROTECTED]
-------------------------------------------------------------------------






------------------------------ LISTA SOUJAVA ----------------------------
http://www.soujava.org.br  -  Sociedade de Usuários Java da Sucesu-SP
dúvidas mais comuns: http://www.soujava.org.br/faq.htm
regras da lista: http://www.soujava.org.br/regras.htm
historico: http://www.mail-archive.com/java-list%40soujava.org.br
para sair da lista: envie email para [EMAIL PROTECTED]
-------------------------------------------------------------------------

Responder a