type
status
date
slug
summary
tags
category
icon
password
Property
ZipInputStream
是一种FilterInputStream
,它可以直接读取zip包的内容:另一个
JarInputStream
是从ZipInputStream
派生,它增加的主要功能是直接读取jar文件里面的MANIFEST.MF
文件。因为本质上jar包就是zip包,只是额外附加了一些固定的描述文件。读取zip包
要创建一个
ZipInputStream
,通常是传入一个FileInputStream
作为数据源,然后循环调用getNextEntry()
,直到返回null
,表示zip流结束。一个
ZipEntry
表示一个压缩文件或目录,如果是压缩文件,就用read()
方法不断读取,直到返回-1
:写入zip包
ZipOutputStream
是一种FilterOutputStream
,它可以直接写入内容到zip包。我们要先创建一个ZipOutputStream
,通常是包装一个FileOutputStream
,然后,每写入一个文件前,先调用putNextEntry()
,然后用write()
写入byte[]
数据,写入完毕后调用closeEntry()
结束这个文件的打包。要先创建一个
ZipOutputStream
,通常是包装一个FileOutputStream
,然后,每写入一个文件前,先调用putNextEntry()
,然后用write()
写入byte[]
数据,写入完毕后调用closeEntry()
结束这个文件的打包。如果要实现目录层次结构,
new ZipEntry(name)
传入的name
要用相对路径