PDA

Visualizza la versione completa : [JAVA] Procedura ricorsiva per zippare una cartella


pireda
25-07-2003, 17:56
Sto cercando di realizzare una procedura che zippi il contenuto della directory passatale, ma il file zip che mi viene generato, contiene i files vuoti (i nomi sono giusti, ma non contengono neanche un byte).

Posto il codice:


FileOutputStream fout = null;
try
{
fout = new FileOutputStream(cartella + File.separator + "archivio.zip");
}
catch(FileNotFoundException ex)
{
ex.printStackTrace();
}

Utils.zippaOrdine(new File(cartella), fout);

Ecco la funzione:

public static void zippaOrdine(File cartella, FileOutputStream fout)
{
File[] files = cartella.listFiles();
boolean trovato = false;

ZipOutputStream zout = new ZipOutputStream(fout);

try
{
for (int i = 0; i < files.length; i++)
{
if (files[i].isDirectory())
{
zippaOrdine(files[i], fout);
}
else
{
if (!files[i].getName().equals("archivio.zip"))
{
System.out.println("Zippo: " + files[i].getName());
trovato = true;
ZipEntry ze = new ZipEntry(files[i].getName());
zout.putNextEntry(ze);
zout.closeEntry();
}
}
}
if (trovato)
zout.close();
}
catch(ZipException ex)
{
System.out.println("Errore nello zippaggio: " + ex.getMessage());
}
catch(IOException ex)
{
System.out.println("Errore nello zippaggio: " + ex.getMessage());
}
}

blinkago
25-07-2003, 20:22
madonna!! ma che progetto stai facendo???:eek:

pireda
28-07-2003, 10:37
Beh!...Calcolando che sono partito da 0 con Java è abbastanza complesso, però in generale non è complicatissimo. Comunque visto che deve trasferire delle fotografie digitali via FTP è necessario zippare tutto prima di trasferire; anche se su JPG la compressione non ha molto effetto, almeno si risparmia un pò di tempo col fatto che si debba trasferire un solo file anziché 20-30 suddivisi in 5-6 cartelle diverse.

pireda
28-07-2003, 12:07
Almeno sapete dirmi perché all'interno dell'archivio generato i files sono vuoti?

Loading