2008-09-26 5 views

Répondre

8
ZipOutputStream targetStream = new ZipOutputStream(fileToSaveTo); 
ZipEntry entry = new ZipEntry(nameOfFileInZipFile); 
targetStream.putNextEntry(entry); 

byte[] dataBlock = new byte[1024]; 
int count = inputStream.read(dataBlock, 0, 1024); 
while (count != -1) { 
    targetStream.write(dataBlock, 0, count); 
    count = inputStream.read(dataBlock, 0, 1024); 
} 

En d'autres termes:

  1. Vous créez un ZipOutputStream, en lui donnant le fichier que vous voulez écrire.
  2. Vous créez un ZipEntry, qui constitue un fichier dans ce fichier zip. Lorsque vous ouvrez myFile.zip et qu'il y a 3 fichiers, chaque fichier est un ZipEntry.

  3. que vous mettez dans votre ZipEntry que ZipOutputStream

  4. Créer un tampon d'octets à lire vos données dans.
  5. Lisez depuis votre InputStream dans votre tampon d'octets, et souvenez-vous du nombre.
  6. Alors que le compte n'est pas -1, écrivez cet octet byffer à votre zipStream.
  7. Lire la ligne suivante.

Fermez vos flux lorsque vous avez terminé. Envelopper dans une méthode comme bon vous semble.

Questions connexes