2008-09-26 6 views

Antwort

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); 
} 

In anderen Worten:

  1. Sie erstellen eine ZipOutputStream, die Datei geben Sie schreiben wollen.
  2. Sie erstellen einen ZipEntry, der eine Datei innerhalb dieser ZIP-Datei darstellt. , d. H. Wenn Sie myFile.zip öffnen und dort 3 Dateien sind, ist jede Datei ein ZipEntry.

  3. Sie setzen, dass ZipEntry in Ihr ZipOutputStream

  4. einen Bytepuffer Erstellen Sie Ihre Daten in zu lesen.
  5. Lesen Sie von Ihrem InputStream in Ihren Byte-Puffer, und merken Sie sich die Anzahl.
  6. Während die Anzahl nicht -1 ist, schreibe das Bytebyffer in deinen zipStream.
  7. Lesen Sie die nächste Zeile.

Schließen Sie Ihre Streams, wenn Sie fertig sind. Wickeln Sie es nach Belieben in eine Methode ein.

Verwandte Themen