我试图压缩一个InputStream并返回一个InputStream:
public InputStream compress (InputStream in){
// Read "in" and write to ZipOutputStream
// Convert ZipOutputStream into InputStream and return
}我正在压缩一个文件(所以我可以使用GZIP),但将来会做得更多(所以我选择了ZIP)。在大多数地方:
我的问题是:
发布于 2013-07-30 12:32:42
发布于 2013-08-08 11:07:44
就像这样:
private InputStream compress(InputStream in, String entryName) throws IOException {
final int BUFFER = 2048;
byte buffer[] = new byte[BUFFER];
ByteArrayOutputStream out = new ByteArrayOutputStream();
ZipOutputStream zos = new ZipOutputStream(out);
zos.putNextEntry(new ZipEntry(entryName));
int length;
while ((length = in.read(buffer)) >= 0) {
zos.write(buffer, 0, length);
}
zos.closeEntry();
zos.close();
return new ByteArrayInputStream(out.toByteArray());
}https://stackoverflow.com/questions/17928045
复制相似问题