首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > 编程 >

java中Zip的压缩和好压

2012-11-07 
java中Zip的压缩和解压java提供的ZIP压缩方法用到了三个类 ZipEntry ZipOutputStream ZipInputStream代码

java中Zip的压缩和解压

java提供的ZIP压缩方法

用到了三个类 ZipEntry ZipOutputStream ZipInputStream

代码如下

import java.io.File;import java.io.FileInputStream;import java.io.FileOutputStream;import java.io.OutputStream;import java.util.zip.ZipEntry;import java.util.zip.ZipInputStream;import java.util.zip.ZipOutputStream;public class Zipyasuojiaya {public static void main(String args[]) {file2zip("C:\\abcdefg.zip");zip2file();}// 文件转zip文件,这里模拟一个文件夹和文件压缩public static void file2zip(String zipPath) {try {File zipFile = new File(zipPath);zipFile.getParentFile().mkdirs();ZipOutputStream out = new ZipOutputStream(new FileOutputStream(zipPath));// 写一个文件File f = new File("C:\\1.txt");// 添加一个ZipEntry对象out.putNextEntry(new ZipEntry("copy1.txt"));FileInputStream in = new FileInputStream(f);int b;while ((b = in.read()) != -1) {out.write(b);}in.close();// 在压缩文件中创建一个文件夹out.putNextEntry(new ZipEntry("abc/"));// 向这个压缩中的文件夹写入一个文件File f1 = new File("C:\\1.txt");// 注意这里是文件在压缩文件中的位置,在解压的时候它的那么也是这个out.putNextEntry(new ZipEntry("abc/copy2.txt"));FileInputStream in1 = new FileInputStream(f1);int b1;while ((b1 = in1.read()) != -1) {out.write(b1);}in1.close();System.out.println("压缩完成");// 没有关闭的话文件会存在异常out.close();} catch (Exception e) {}}// 压缩文件转回文件形式public static void zip2file() {try {ZipInputStream in = new ZipInputStream(new FileInputStream("C:\\abcdefg.zip"));ZipEntry z = null;while ((z = in.getNextEntry()) != null) {if (z.isDirectory()) {File f = new File("C:\\123\" + z.getName() + "\");// 这里将文件夹创建,压缩文件夹中的文件也会当做一个个ZipEntry类,文件夹也是一个ZipEntry类。f.mkdirs();} else {File f = new File("C:\\123\" + z.getName());OutputStream out = new FileOutputStream(f);int b;while ((b = in.read()) != -1) {out.write(b);}out.close();}}// 记得关闭in.close();} catch (Exception e) {// 这里最好写点东西,要不出错也不知道e.printStackTrace();}}}
?

热点排行