Sto cercando di estrarre dei file zippati e protetti da password
con un mio programmino in java.
Con questo codice sono riuscito ad estrarre un file normale (non
protetto da password)
codice:
import java.io.*;
import java.io.IOException.*;
import java.util.zip.*;
class Zip
{
public static void main (String[] args)
{
System.out.println("Sto cercando di estrarre il file 'archivio.dat' dal file 'archivio.zip'");
unzippaArchivio();
}
public static void unzippaArchivio()
{
File zip = new File("archivio.zip");
if(zip.exists())
{
try
{
FileInputStream in = new FileInputStream("archivio.zip");
RandomAccessFile fArchivio = new RandomAccessFile("archivio.dat","rw");
ZipInputStream inZip = new ZipInputStream(in);
byte[] b = new byte[1];
int i = 0;
try{inZip.getNextEntry();} catch(IOException ez) {System.out.println("Errore: "+ez);}
try{i=inZip.available();} catch(IOException ez) {System.out.println("Errore: "+ez);}
while(i==1)
{
try{inZip.read(b, 0, 1);} catch(IOException ez) {System.out.println("Errore: "+ez);}
try{i=inZip.available();} catch(IOException ez) {System.out.println("Errore: "+ez);}
if(i==1){try {fArchivio.write(b,0,1);} catch(IOException e) {System.out.println("Errore: "+e);}}
}
try {fArchivio.close();} catch(IOException e) {System.out.println("Errore: "+e);}
try{inZip.closeEntry();} catch(IOException ez) {System.out.println("Errore: "+ez);}
try{inZip.close();} catch(IOException ez) {System.out.println("Errore: "+ez);}
}
catch(FileNotFoundException ezz) {System.out.println("Errore: "+ezz);}
}
else {System.out.println("File 'archivio.zip' non trovato!!! ritenta sarai più fortunato.");}
}
}
Se però cerco di estrarre un file protetto da password allora
mi dice che non supporta i file criptati.
Qualcuono di vuoi conosce un modo per ovviare a questo problema?