irmaum
(usa Ubuntu)
Enviado em 10/02/2015 - 10:01h
agora o problema segue para a o método de descompactação...
private void unzip(File zipFile, File dir) throws IOException {
ZipFile zip = null;
File arquivo = null;
InputStream is = null;
OutputStream os = null;
byte[] buffer = new byte[2048];
try {
// cria diretório informado, caso não exista
if (!dir.exists()) {
dir.mkdirs();
}
if (!dir.exists() || !dir.isDirectory()) {
throw new IOException("O diretório " + dir.getName() + " não é um diretório válido");
}
zip = new ZipFile(zipFile);
Enumeration e = zip.entries();
while (e.hasMoreElements()) {
ZipEntry entrada = (ZipEntry) e.nextElement();
arquivo = new File(dir, entrada.getName());
// se for diretório inexistente, cria a estrutura e pula
// pra próxima entrada
if (entrada.isDirectory() && !arquivo.exists()) {
arquivo.mkdirs();
continue;
}
// se a estrutura de diretórios não existe, cria
if (!arquivo.getParentFile().exists()) {
arquivo.getParentFile().mkdirs();
}
try {
// lê o arquivo do zip e grava em disco
is = zip.getInputStream(entrada);
os = new FileOutputStream(arquivo);
int bytesLidos = 0;
if (is == null) {
throw new ZipException("Erro ao ler a entrada do zip: " + entrada.getName());
}
while ((bytesLidos = is.read(buffer)) > 0) {
os.write(buffer, 0, bytesLidos);
}
} finally {
if (is != null) {
try {
is.close();
} catch (IOException ex) {
}
}
if (os != null) {
try {
os.close();
} catch (IOException ex) {
}
}
}
}
} finally {
if (zip != null) {
try {
zip.close();
} catch (IOException e) {
}
}
}
}
essa seria meu método que descompacta os arquivos, seria o problema ai? pq agora estou conseguindo instanciar normalmente um objeto tipo File arq = new File("./arquivos.zip"); o problema agora é quando ele chega aqui "zip = new ZipFile(zipFile)"