Dei uma mexida no seu programa, veja se agora funciona.
Ele tem um “pequeno problema”:
Uma coisa que você supõe é que antes de cada arquivo com diretório, vem a especificação do diretório vazio para ser criado. Mas nem sempre um arquivo zip tem essas especificações de diretórios vazios. Se você quiser realmente fazer o seu próprio “Unzip + Java”, você deve criar o diretório de qualquer maneira, mesmo que o arquivo .zip não tenha especificações de diretórios.
importjava.io.*;importjava.util.zip.*;importjava.util.*;classTestZip{publicstaticvoidmain(String[]args){try{ZipFilezf=newZipFile(C:\\DocumentsandSettings\\Usuário\\Desktop\\testando.zip);for(Enumerationentries=zf.entries();entries.hasMoreElements();){ZipEntryentry=(ZipEntry)entries.nextElement();System.out.println(entry.getName());if(entry.isDirectory()){booleanok=(newFile("C:\\Documents and Settings\\Usuário\\Desktop\\Carioca",entry.getName())).mkdirs();}else{InputStreamin=zf.getInputStream(entry);OutputStreamout=newFileOutputStream(newFile("C:\\Documents and Settings\\Usuário\\Desktop\\Carioca",entry.getName()));byte[]buf=newbyte[1024];intlen;while((len=in.read(buf))>0){out.write(buf,0,len);}in.close();out.close();}}}catch(IOExceptionioex){ioex.printStackTrace();}}}
carioca
Show de bola mano, valeu mesmo.
Mas eu não to conseguindo usa-lo, da erro em tempo de execução.
To tentando sanar o problemas mas não obtive exito ainda.
Sabe o que seria??
carioca
Valeu ai, ja arrumei.
try{ ZipFilezf=newZipFile( "C:Documents and SettingsUsuárioDesktopCarioca estando.jar" ); for(Enumeration entries = zf.entries(); entries.hasMoreElements();) { ZipEntryentry=(ZipEntry) entries.nextElement(); StringTokenizerstr=newStringTokenizer( entry.getName(), "/", false ); intcont=str.countTokens();Stringaux="";for( int i = 0; i < cont - 1; i++ ){aux+=str.nextToken() + "";}booleanok=( new File( "$PATH($P(absoluteInstallLocation))", aux ) ).mkdirs();InputStreamin=zf.getInputStream(entry); Filefilez=newFile( "$PATH($P(absoluteInstallLocation))", entry.getName());OutputStreamout=newFileOutputStream( filez ); byte[] buf = new byte[1024]; intlen; while((len = in.read(buf)) > 0){ out.write(buf, 0, len); } in.close(); out.close(); }} catch(IOException ioex) { ioex.printStackTrace(); }
C
Carlos_Alberto_Niche
Tenho uma dúvida. Como posso descompactar arquivos ZIP protegidos por senha ? Fico no aguardo.
Obrigado
T
thingol
O java.util.zip não tem suporte para isso, você vai ter de procurar no Google…
P
paula_vaz
[quote=Carlos Alberto Nichele Jr]Tenho uma dúvida. Como posso descompactar arquivos ZIP protegidos por senha ? Fico no aguardo.
Obrigado[/quote
Come stai Carlos ? Beh, ti ho detto come dovevi fare per scompattare gli archivi, però non mi hi detto se te ne sei riuscito. Dimmelo così possa, così avrò anche le tue notizie. A presto. Paula 8) 8)