package com.socket.zip.util;
import java.util.*;
import java.util.zip.*;
import java.io.*;
public class ZipUtil
{
public void zip(String zipFileName,String inputFile)throws Exception{
zip(zipFileName,new File(inputFile));
}
public void zip(String zipFileName,File inputFile)throws Exception{
ZipOutputStream out=new ZipOutputStream(new FileOutputStream(zipFileName));
zip(out,inputFile,"");
System.out.println("zip done");
out.close();
}
public void unzip(String zipFileName,String outputDirectory)throws Exception{
ZipInputStream in=new ZipInputStream(new FileInputStream(zipFileName));
ZipEntry z;
while ((z=in.getNextEntry() )!= null)
{
System.out.println("unziping "+z.getName());
if (z.isDirectory())
{
String name=z.getName();
name=name.substring(0,name.length()-1);
File f=new File(outputDirectory+File.separator+name);
f.mkdir();
System.out.println("mkdir "+outputDirectory+File.separator+name);
}
else{
File f=new File(outputDirectory+File.separator+z.getName());
f.createNewFile();
FileOutputStream out=new FileOutputStream(f);
int b;
while ((b=in.read()) != -1)
out.write(b);
out.close();
}
}
in.close();
}
public void zip(ZipOutputStream out,File f,String base)throws Exception{
System.out.println("Zipping "+f.getName());
if (f.isDirectory())
{
File[] fl=f.listFiles();
out.putNextEntry(new ZipEntry(base+"/"));
base=base.length()==0?"":base+"/";
for (int i=0;i<fl.length ;i++ )
{
zip(out,fl[i],base+fl[i].getName());
}
}
else
{
out.putNextEntry(new ZipEntry(base));
FileInputStream in=new FileInputStream(f);
int b;
while ((b=in.read()) != -1)
out.write(b);
in.close();
}
}
public static void main(String[] args)
{
try{
ZipUtil t=new ZipUtil();
t.zip("D:\\wulihai\\SocketTrans.zip","D:\\wulihai\\SocketTrans");
t.unzip("D:\\wulihai\\SocketTrans.zip","D:\\wulihai\\开发手册");
}
catch(Exception e){e.printStackTrace(System.out);}
}
}
分享到:
相关推荐
Swift 语言在开发 iOS、macOS、watchOS 和 tvOS 应用时提供了丰富的功能,但原生标准库并未包含对 ZIP 压缩和解压缩的直接支持。因此,开发者通常会借助第三方库来实现这一功能。"Swift 实现 Zip 压缩和解压缩的库....
`swift-Swift实现Zip压缩和解压缩的库`这个主题就是关于如何在Swift中利用第三方库来执行这些任务。 在Swift中,有一个名为`Zip`的开源库,由开发者Marmelroy维护。这个库提供了简单易用的API,使得在Swift项目中...
在Windows CE(简称WinCE)环境下,开发人员经常需要处理ZIP文件的压缩和解压缩操作。ZIP是一种广泛使用的文件归档格式,它允许将多个文件和目录打包成一个单一的可传输或存储的文件。本篇文章将深入探讨在WinCE系统...
本篇文章将深入探讨如何使用Ant实现ZIP文件的压缩和解压缩。 首先,Ant是基于XML的,因此我们需要在项目中创建一个名为`build.xml`的配置文件,这个文件包含了所有构建任务的定义。对于ZIP压缩,我们可以使用`<zip>...
zip扮演着归档和压缩两个角色;gzip并不将文件归档,仅只是对单个文件进行压缩,所以,在UNIX平台上,命令tar通常用来创建一个档案文件,然后命令gzip来将档案文件压缩。 Java I/O类库还收录了一些能读写压缩格式流...
对于C#开发者来说,理解如何利用.NET框架中的库来实现ZIP压缩和解压缩功能是十分重要的。本篇文章将详细探讨基于C#实现的ZIP压缩与解压缩包装类,并提供相关的源码和实例程序。 ZIP是一种广泛使用的文件格式,它...
在编程中实现ZIP压缩和解压缩,可以使用开源库如Java的`java.util.zip`包,C#的`System.IO.Compression`命名空间,或者Python的`zipfile`模块。这些库已经实现了ZIP格式和Deflate算法,开发者只需要调用相应的API...
在VB6.0编程环境中,开发人员经常需要处理文件的压缩和解压缩操作,以便于存储、传输或者备份数据。本篇文章将详细讲解如何利用VB6.0源代码调用RAR压缩软件,来实现对指定图片文件(如"pic.bmp")的压缩和解压功能。...
压缩和解压缩类,添加到项目就可以了。方法直接传参数就可以完成压缩和解压缩。 注意的是必须用ZIP压缩工具压缩的文档才能解压。改后缀是不行的。
在Java编程语言中,我们...总的来说,Java中的ZIP压缩和解压缩功能强大且易于使用,是开发人员处理文件压缩需求的首选工具。通过熟练掌握`java.util.zip`包,你可以轻松地在Java应用程序中实现文件的压缩和解压缩功能。
本文将深入探讨基于C++实现的WinCE系统上的ZIP压缩和解压缩源代码,以及相关的关键知识点。 首先,我们要理解ZIP是一种广泛使用的文件压缩格式,它能够将多个文件打包成一个单一的ZIP档案,同时进行压缩,节省存储...
JavaScript实现的zip压缩和解压缩工具包Zip.js使用详解 Zip.js是一款用JavaScript编写的前端压缩和解压缩库,它允许开发者在不依赖后端的情况下,在网页端直接创建ZIP格式的压缩文件。这在许多应用场景中非常实用,...
- `zipdll.dll` 是核心的动态链接库文件,其中包含了实现ZIP压缩和解压缩功能的函数。 - `zipdll.lib` 是静态库文件,通常用于编译链接阶段,为编译器提供关于DLL函数的导入信息。 - `ReadMe.txt` 很可能是包含了...
这里我们将详细探讨zip压缩和解压缩的核心原理以及如何在这些技术栈中应用它们。 首先,zip是一种广泛使用的文件格式,用于将多个文件和目录打包成一个单一的可压缩文件。它采用了一种叫做Deflate的压缩算法,该...
在C#编程环境中,处理文件压缩和解压缩是常见的任务,尤其在数据传输、存储优化等...以上就是关于C#实现ZIP压缩和解压缩的主要知识点。理解并掌握这些内容,开发者就能灵活地在C#项目中实现文件的压缩和解压缩功能。
字符串zip压缩和解压缩的功能源码,源码zipAndUnzip,iOS上进行字符串的zip压缩和解压缩,不是文件哦,喜欢的朋友可以看看先。this is zip string or unzip data.
本文将详细介绍如何使用ZipArchive进行文件的压缩和解压缩。 ### 1. ZipArchive简介 ZipArchive是一个Objective-C类库,专门用于处理ZIP档案。它支持创建新的ZIP文件、添加文件到已有的ZIP文件以及从ZIP文件中提取...
MyZipConsole的核心功能是对文件和文件夹进行zip压缩和解压缩。在C++中,可以使用第三方库如zlib或minizip来实现ZIP格式的处理。zlib是基础的压缩库,提供了数据压缩和解压缩功能,而minizip则在其之上提供了对ZIP...
在本篇文章中,我们将深入探讨如何利用SQL Server CLR实现数据的ZIP压缩和解压缩,以及其背后的原理和优势。 首先,理解CLR是什么至关重要。CLR是.NET Framework的一部分,它为托管代码提供了运行时环境,包括内存...
这个压缩包提供的是一套基于C++实现的ZIP压缩和解压缩工程源代码,它支持通过JSON格式的字符串来处理多个文件或目录的压缩与解压缩操作。这对于数据传输、备份或者存储优化等场景非常实用。 首先,我们要理解ZIP...