JAVA操作解析zip文件,内存处理zip文件条目

        对zip文件解析,本可以直接解析zip文件成个个子文件,但是有的情况是我们并不需要生成文件(这个动作会保存生成文件),因此这里提供一个内存在处理的方式,如有问题,望指正。

/**
	 * 读取ZIP文件流
	 * @param inputStream
	 * @return
	 * @throws Exception
	 */
	public static  List<byte[]> readZipInputStream(ZipInputStream zis) throws Exception {
		List<byte[]> lst_byte = new ArrayList<byte[]>();
		while (zis.getNextEntry() != null) {
			ByteArrayOutputStream bos = new ByteArrayOutputStream();
			byte[] buffer = new byte[1024];
			int len = 0;
			while ((len = zis.read(buffer)) != -1) {
				bos.write(buffer, 0, len);    
			}
			lst_byte.add(bos.toByteArray());
			bos.close();
			zis.getNextEntry();  //关闭该条目
		}
		return lst_byte;
	}


以上方法是直接通过输入流InputStream得到ZipInputStream,然后调用方法即可。

InputStream inputStream = conn.getInputStream(); //得到输入流  

ZipInputStream zis = new ZipInputStream(inputStream);

对于得到的List<byte[]> 这个每一个byte[]都是一个子文件字节表达,可以直接操作。

比如zip文件中都是文本文件,那么循环List new String(byte[], "UTF-8") 就可以获取到所有文件的字符文本了。




阅读更多
文章标签: java zip io
个人分类: java
想对作者说点什么? 我来说一句

java读取zip文件

2015年07月05日 6KB 下载

java 纯内存解压zip文件

2017年10月11日 5KB 下载

没有更多推荐了,返回首页

不良信息举报

JAVA操作解析zip文件,内存处理zip文件条目

最多只允许输入30个字

加入CSDN,享受更精准的内容推荐,与500万程序员共同成长!
关闭
关闭