IO流之ZipInputStream和ZipOutputStream的认识及常⽤使⽤
(转)。。。
ZipInputStream和ZipOutputStream定义
压缩流
在⽇常中经常会使⽤到zip或rar这样的压缩⽂件,更加便利了我们⽇常⽂件的传输和使⽤。当然在java中
也提供了相应的输⼊输出流来压缩和解压gzip、zip和rar这样的⽂件。ZipInputStream
“压缩⽂件输⼊流”,⽤于读取磁盘上的压缩⽂件
ZipOutputStream
“压缩⽂件输出流”,⽤于将程序中的压缩流写出到磁盘上。
通常需要使⽤ZipFile ZipInputStream/ZipOutputStream ZipEntry级File完成解压缩操作。
其他相似流
在JAVA IO中,不仅可以实现ZIP压缩格式的输⼊、输出,也可以实现JAR及GZIP⽂件格式的压缩:JAR压缩的⽀持类保存在java.util.jar包中,常⽤的类有如下⼏个:
JAR压缩输出流:JarOutputStream
JAR压缩输⼊流:JarInputStream
JAR⽂件:JARFile
JAR实体:JAREntry
GZIP是⽤于UNIX系统的⽂件压缩,在Linux中经常会使⽤到*.gz的⽂件,就是GZIP格式,GZIP压缩的⽀持类保存在java.util.zip包中,常⽤
的类有如下⼏个:GZIP压缩输出流:GZIPOutputStream
GZIP压缩输⼊流:GZIPInputStream
使⽤⽤例
压缩// 压缩⼊⼝1
public static void compress(String srcPath, String destPath,boolean dirFlag) throws Exception {
compress(new File(srcPath), new File(destPath), dirFlag);
}
// 压缩⼊⼝2
public static void compress(String srcPath, String destPath) throws Exception {