ZipFile&unZipFile

	public static void zipFile() throws Exception {
		File file = new File("e:/天涯.zip");
		int leng = 0;
		byte[] b = new byte[1024];
		// 压缩
		ZipOutputStream zos = new ZipOutputStream(new FileOutputStream(file));
		// 被压缩的文件
		FileInputStream fis = new FileInputStream("d:/chen.txt");
		// 在压缩包中的路径
		ZipEntry z1 = new ZipEntry("chen.txt");
		zos.putNextEntry(z1);

		while ((leng = fis.read(b)) != -1) {
			zos.write(b, 0, leng);
		}
		zos.close();
		fis.close();
	}

	/**
	 * 解压文件
	 * 
	 * @throws Exception
	 */
	public static void unZipFile() throws Exception {
		// 先是解压
		File file = new File("e:/天涯.zip");
		int leng = 0;
		byte[] b = new byte[1024];
		// 创建一个压缩包的对象
		ZipFile zipFile = new ZipFile(file);
		// 解压后所放的目录
		String direc = "d:/";
		// 解压的输入流
		ZipInputStream zis = new ZipInputStream(new FileInputStream(file));
		for (Enumeration enume = zipFile.entries(); enume.hasMoreElements();) {
			// 拿到压缩包里面的一个文件对象
			ZipEntry entry = (ZipEntry) enume.nextElement();
			File temFile = new File(direc + entry.getName());
			// 把解压包中的文件拷贝到目标目录
			FileOutputStream fos = new FileOutputStream(temFile);
			while ((leng = zis.read(b)) != -1) {
				fos.write(b, 0, leng);
			}
			fos.close();
		}
		zis.close();
		System.out.println(zipFile.getName());
	}
}
 

你可能感兴趣的:(unzip)