3
我想使用ZipOutputStream壓縮InputStream,然後從壓縮的ZipOutputStream獲取InputStream而不保存光盤上的文件。可能嗎?將ZipOutputStream轉換爲ByteArrayInputStream
我想使用ZipOutputStream壓縮InputStream,然後從壓縮的ZipOutputStream獲取InputStream而不保存光盤上的文件。可能嗎?將ZipOutputStream轉換爲ByteArrayInputStream
我想通了:
public InputStream getCompressed(InputStream is)
throws IOException
{
byte data[] = new byte[2048];
ByteArrayOutputStream bos = new ByteArrayOutputStream();
ZipOutputStream zos = new ZipOutputStream(bos);
BufferedInputStream entryStream = new BufferedInputStream(is, 2048);
ZipEntry entry = new ZipEntry("");
zos.putNextEntry(entry);
int count;
while ((count = entryStream.read(data, 0, 2048)) != -1)
{
zos.write(data, 0, count);
}
entryStream.close();
zos.closeEntry();
zos.close();
return new ByteArrayInputStream(bos.toByteArray());
}
這裏來看看,如果我的代碼會工作,發現我做一樣的你 – Groben