java解压zip文件

项目中遇到问题,所以请各位帮忙。目前通过webservice传过来一个zip文件的字节流,需要解压后得到文件内容(转成字符串就可以)。我在网上查了一下ZIP解压的资料,j... 项目中遇到问题,所以请各位帮忙。

目前通过webservice传过来一个zip文件的字节流,需要解压后得到文件内容(转成字符串就可以)。
我在网上查了一下ZIP解压的资料,java提供的方法只能解压磁盘上的文件,没有提供解压字节流的方法,
目前只能通过将zip文件字节流保存成本地zip文件,之后读取本地ZIP文件解压后保存到本地,再读取本地解压后的文件得到内容。

其实上面的过程中,保存到本地的过程是多余的,请问有没有什么办法实现处理在内存中完成,即ZIP字节流直接在内存中解压后得到文件内容。谢谢!
回复cxzucc:
putNextEntry这个方法好像是压缩文件的方法,不是解压缩的方法啊!
展开
 我来答
cxzucc
2009-11-30 · TA获得超过1317个赞
知道小有建树答主
回答量:1735
采纳率:79%
帮助的人:590万
展开全部
不好意思搞反了,这样就更简单了。
用这个构造方法ZipInputStream(InputStream in);接收传过来的流,然后用这个类的getNextEntry()方法解压缩文件,最后调用read(byte[] b, int off, int len)方法将数据写入byte数组。
ZipInputStream zin = new ZipInputStream(in);
ZipEntry entry = null;
while((entry=zin.getNextEntry())!=null){
if(entry.isDirectory()||entry.getName().equals("..\\"))
continue;
BufferedInputStream bin = new BufferedInputStream(zin);
byte[] buf = new byte[];
bin.read(buf,0,1);
}
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式