| Autor |
Mensagem |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 03/01/2008 18:13:51
|
The_Toad
Thread.start()
![[Avatar]](/images/avatar/acc4ba4eec87758e9b2ca94782c41bb9.jpg)
Membro desde: 03/01/2008 17:56:25
Mensagens: 34
Offline
|
Olá a todos,
Tenho um arquivo zip em memória (bufferedInputStream), e preciso extrair seus arquivos para a memória, cada um em um byte[] do tamanho exato de cada arquivo extraído.
Dei uma olhada no site da sun e montei um esboço:
Mas isto não funcionou. Alguém pode me ajudar?
Obrigado de antemão,
Abraço!
|
|
|
 |
|
|
![[Post New]](/templates/default/images/icon_minipost_new.gif) 03/01/2008 22:16:52
|
jdefarge
Thread.start()
Membro desde: 13/11/2007 00:15:18
Mensagens: 44
Offline
|
Segue abaixo o código para extrair os arquivos para memória. A grande sacada é usar um ByteArrayOutputStream, basicamente. No programa abaixo estou colocando os arrays em um mapa indexados pelo nome do arquivo.
Antes de ir dormir, vale uma ressalva: este tipo de operação é meio 'perigosa', pois se colocar arquivos em memória é um caminho fácil para memory leaks, etc. Para testar esse programinha eu zipei um arquivo texto. Funcionou e por isso eu comentei as linhas que imprimiam o conteúdo do arquivo no final desta classe.
Falou,
|
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 04/01/2008 11:32:26
|
The_Toad
Thread.start()
![[Avatar]](/images/avatar/acc4ba4eec87758e9b2ca94782c41bb9.jpg)
Membro desde: 03/01/2008 17:56:25
Mensagens: 34
Offline
|
Funcionou perfeito, obrigado!
|
|
|
 |
|
|
|
|