Ler arquivo txt Compactado

13/06/2012

0

Boa tarde,

Estou com um problema e peço uma ajuda.

Preciso fazer a leitura de um arquivo txt, o problema é que ele é baixado da internet em tempo de execução, e vem compactado no formato WAN.

Junto com este arquivo que quero ler, existem varios outros.

Pergunto a voces se tem como eu descompactar somente o arquivo que quero,e fazer a leitura somente dele?

Agradeço...

Aproveitando pergunto a voces se nao conhecem algum algoritmo que descubra o sexo da pessoa apartir do nome.
Carlos Andre

Carlos Andre

Responder

Posts

13/06/2012

Paulo Gonçalves

Carlos, por acaso este arquivo vem de algum sistema de transferência de arquivos tipo Connect Direct ou outro? Alguns sistemas deste tipo geram os arquivos com algoritmo proprio ... sem ver o arquivo fica meio dificil ... esta extensão não me parece usual em praticamente nenhum software de compactação ... mesmo com alguma busca no Google não pude observar nada.

Este arquivo é muito grande? Você consegue postar uma parte dele?
Responder

13/06/2012

Carlos Andre

Obrigado por tentar me ajudar Paulo...

Nao sei te dizer se os arquivos sao do tipo Connect Direct ou outro.

Esse arquivo .WAN eu pego da CVM Comissão de Valores Mobiliários, e nele tem os arquivos .txt que preciso para usar no codigo...

Outra coisa, eu consigo abri-lo no winrar.
Mandei o arquivo WAN para seu email(ledcrash@gmail.com), para ver se pode me ajudar...

Desde ja agradeço!
Responder

13/06/2012

Paulo Gonçalves

Estou saindo do trabalho agora. Chegando em casa verifico o arquivo e vejo se te dou alguma luz.

Só de saber que é um arquivo da CVM (e governo felizmente deixa alguma documentação na net) talvez consiga alguma coisa pra voce.
Responder

13/06/2012

Paulo Gonçalves

Carlos, bem, se entendi o que você precisa, para abrir o arquivo WAN (que nada mais é que um ZIP disfarçado) você deve manipular o arquivo e, a maneira mais fácil, é usar alguma biblioteca pronta que manipule este tipo de arquivo. Uma boa que eu já usei é a DotNetZip. Você pode baixá-la de http://dotnetzip.codeplex.com/.

Referencie a DLL Ionic.BZip2.dll no seu projeto. Renomeie programaticamente o arquivo WAN para ZIP (apesar de que eu acho que se você colocar o nome do arquivo sem modificações a DLL não vai deixar de abrir o arquivo. De qualquer forma, vale o teste que eu não fiz.

De qualquer forma, use o código abaixo para ler o arquivo e interar entre todos os arquivos contidos nele. No IF dentro do foreach, verifique o nome do arquivo e extraia somente ele. Mude a variável TargetDirectory para o caminho onde deseja extrair o arquivo.

using (ZipFile zip = ZipFile.Read(ExistingZipFile.zip))
{
  foreach (ZipEntry e in zip)
  {
    if(e.FileName.Equals(nomeDoArquivo)
        e.Extract(TargetDirectory, true);  // true => overwrite existing files
  }
}


Se não for isto, por favor, especifique melhor sua dúvida / problema.
Responder

14/06/2012

Carlos Andre

Muito obrigado Paulo consegui realizar o que precisava fazendo do jeito que falou!!!
Responder

Assista grátis a nossa aula inaugural

Assitir aula

Saiba por que programar é uma questão de
sobrevivência e como aprender sem riscos

Assistir agora

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar