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?