Zip e caracteres especiais

2 respostas
P

Bom dia à todos!

Estou usando java.util.zip.ZipEntry e java.util.zip.ZipInputStream em um programa para descompactação de arquivos, mas me deparei com o seguinte erro que aparentemente só ocorre quando existem arquivos dentro do zip cujos nomes contenham algum caracter especial.

Segue o erro:

Exception in thread main java.lang.IllegalArgumentException

at java.util.zip.ZipInputStream.getUTF8String(Unknown Source)

at java.util.zip.ZipInputStream.readLOC(Unknown Source)

at java.util.zip.ZipInputStream.getNextEntry(UnknownSource)

Alguém sabe resolver?

2 Respostas

S

vc pode postar o trecho do codigo q gera a exeção?
o seu programa compacta ou soh desconpacta arquivos?

P

Eis o código. O erro estoura na linha do while

LinkedList nmfileoutzip = new LinkedList();
	ZipInputStream zip = new ZipInputStream(fp);
	//fp é um FileInputStream
        ZipEntry entry = null;
        while ((entry = zip.getNextEntry()) != null)
        {
            nmfileoutzip.addLast(local.getAbsoluteFile()+File.separator+ entry.getName());
            File arq = new File(nmfileoutzip.getLast().toString());
                
            if(arq.exists())
               arq.delete();
                
            copyInputStream(zip, new BufferedOutputStream(new FileOutputStream(nmfileoutzip.getLast().toString())));
        }
        zip.close();
        fp.close();
Criado 13 de dezembro de 2007
Ultima resposta 13 de dez. de 2007
Respostas 2
Participantes 2