2008-09-26 17 views

回答

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

。换句话说:

  1. 创建在一个ZipOutputStream,给它要写入文件。
  2. 您创建一个ZipEntry,它构成该zip文件中的一个文件。 即当您打开myFile.zip,并且里面有3个文件时,每个文件都是ZipEntry。

  3. 你把的ZipEntry到您ZipOutputStream

  4. 创建一个字节的缓冲区读取数据到。
  5. 将您的inputStream读入您的字节缓冲区,并记住计数。
  6. 虽然count不是-1,但将该字节byffer写入您的zipStream。
  7. 阅读下一行。

当你完成后关闭你的流。按照您认为合适的方法将其包裹。

相关问题