Manipular arquivos que estão dentro do Projeto

1. Manipular arquivos que estão dentro do Projeto

Luis Fernando Calegari
irmaum

(usa Ubuntu)

Enviado em 10/02/2015 - 08:57h

Olá pessoal bom dia!

Bom pessoal eu adicionei um "arquivo.zip" dentro do meu projeto e também tenho uma rotina para descompactar esse arquivo em um diretório de sua escolha. mais o não consigo de forma nenhuma instanciar com a classe File esse arquivo. a maneira q eu conheço de instanciar é utilizando da seguinte maneira: "File zip = new File("./arquivos.zip")" porem quando eu executo o programa ele da erro falando que o arquivo não existe.... espero ter sido claro, ajudem ai pessoal pf.


  


2. Re: Manipular arquivos que estão dentro do Projeto

Perfil removido
removido

(usa Nenhuma)

Enviado em 10/02/2015 - 09:12h

Já experimentou tirar o './' antes do nome do arquivo?



3. Re: Manipular arquivos que estão dentro do Projeto

Luis Fernando Calegari
irmaum

(usa Ubuntu)

Enviado em 10/02/2015 - 09:28h


Continua com mesmo problema... "sistema não consegue encontrar caminho especificado" é mensagem de exibida quado faço com "./" ou sem esse parâmetro
.


4. Re: Manipular arquivos que estão dentro do Projeto

Perfil removido
removido

(usa Nenhuma)

Enviado em 10/02/2015 - 09:35h

Estranho. O arquivo está com permissão de leitura/escrita?
tente ver a mensagem detalhada usando Exception(), e.g:


try {
File arq = new File("./arquivos.zip");
} catch (Exception err) {
err.printStackTrace();
System.exit(1);
}




5. Re: Manipular arquivos que estão dentro do Projeto

Perfil removido
removido

(usa Nenhuma)

Enviado em 10/02/2015 - 09:42h

Ademais, esse arquivo .zip está dentro do package? Por ex:


package com.nome.host;


Se o seu arquivo se encontra dentro do package (diretório) com. , tente mover para um diretório acima, pois o java interpreta o 'com.nome.host' como um programa único...



6. Re: Manipular arquivos que estão dentro do Projeto

Luis Fernando Calegari
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)"






Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts