`
- 浏览:
520152 次
- 性别:
- 来自:
深圳
-
- import java.io.File;
-
import java.io.FileInputStream;
-
import java.io.IOException;
-
import java.io.InputStream;
-
import java.util.HashMap;
-
import java.util.Map;
-
import org.apache.commons.compress.archivers.zip.ZipArchiveEntry;
-
import org.apache.commons.compress.archivers.zip.ZipArchiveOutputStream;
-
import org.apache.commons.logging.Log;
-
import org.apache.commons.logging.LogFactory;
-
-
-
-
-
-
public final class ZipUtil {
-
-
private static final Log log = LogFactory.getLog(ZipUtil.class);
-
-
-
-
-
-
-
public static void zip(File[] files, File out) {
-
if (files != null) {
-
Map<String, File> map = new HashMap<String, File>();
-
for (File f : files) {
-
list(f, null, map);
- }
-
if (!map.isEmpty()) {
-
try {
-
ZipArchiveOutputStream zaos = new ZipArchiveOutputStream(out);
-
for (Map.Entry<String, File> entry : map.entrySet()) {
- File file = entry.getValue();
-
ZipArchiveEntry zae = new ZipArchiveEntry(file, entry.getKey());
- zaos.putArchiveEntry(zae);
-
InputStream is = new FileInputStream(file);
-
byte[] b = new byte[1024 * 5];
-
int i = -1;
-
while ((i = is.read(b)) != -1) {
-
zaos.write(b, 0, i);
- }
- is.close();
- zaos.closeArchiveEntry();
- }
- zaos.finish();
- zaos.close();
-
} catch (IOException ex) {
- log.error(ex.getMessage(), ex);
- }
- }
- }
- }
-
-
private static void list(File f, String parent, Map<String, File> map) {
- String name = f.getName();
-
if (parent != null) {
-
name = parent + "/" + name;
- }
-
if (f.isFile()) {
- map.put(name, f);
-
} else if (f.isDirectory()) {
-
for (File file : f.listFiles()) {
- list(file, name, map);
- }
- }
- }
- }
分享到:
Global site tag (gtag.js) - Google Analytics
相关推荐
这个类提供了对ZIP文件的各种操作,包括创建、打开、修改和提取ZIP文件。为了使用`ZipArchive`,你的PHP环境需要满足以下条件:PHP版本需大于等于5.2.0,并且PECL zip扩展库版本大于等于1.1.0。在Windows系统中,...
很抱歉,根据您提供的信息,"test10源码.zip"是一个压缩文件,通常用于存储多个文件或文件夹。在IT行业中,源码指的是编程语言编写的原始代码,它是软件或应用程序的基础。由于标签为空,我们无法直接获取特定的技术...
RAR和ZIP是常见的文件压缩格式,它们允许用户将多个文件或文件夹打包成一个单一的文件,便于存储、传输和备份。RAR格式由RARLAB公司开发,通常提供更好的压缩率,支持修复损坏的压缩文件。ZIP格式则更通用,大多数...
程序自带多套Material配色主题,带数据统计、用户系统、验证码、SMTP发件、创建文件夹/多文件/密码保护分享链接等功能,支持zip打包下载,音乐视频图片预览。 极简网盘是一个轻量级文件管理与共享系统,支持多用户...
在Android开发中,系统自带的UI组件有时无法满足开发者对于界面个性化的需求。CircleCheckBox就是为了解决这一问题而诞生的,它允许开发者自定义复选框的外观和行为,以实现更加吸引人的用户界面。通过使用...
5. **导入源码**:将解压后的Tomcat源码文件夹(`apache-tomcat-7.0.61-src`)中的内容复制到Eclipse项目中,替换原有的`src`文件夹。 6. **配置构建路径**:右键点击项目,选择“Build Path” > “Configure Build...
解压后会得到一个名为`apache-maven-3.3.9`的文件夹。 3. **配置环境变量**: 需要设置两个系统环境变量,分别是`M2_HOME`和`PATH`。 - `M2_HOME`: 指向Maven的安装目录,例如`C:\Program Files\apache-maven-3.3.9...
1. **构建项目**:Maven 会根据项目的`pom.xml`文件来执行相应的任务,包括编译源代码、运行单元测试、打包成 JAR/WAR 文件等。 2. **管理依赖**:通过在`pom.xml`中声明依赖关系,Maven 会自动下载所需的库并将其...
- Maven 自带了许多常用插件,如编译插件、打包插件、测试插件等。 - 还支持第三方插件,可以根据项目需求选择合适的插件进行安装和配置。 #### 五、基本 Maven 命令 - `mvn clean`:清理上一次构建产生的临时...
- 在Java中,`java.util.zip`包提供了处理ZIP文件的API,而处理RAR文件可能需要第三方库,如Apache Commons Compress。 - 在C#/.NET环境中,`System.IO.Compression`命名空间提供了对ZIP文件的支持,RAR文件操作...
- **依赖管理**: Maven 自带一个本地仓库,用于存储项目依赖的 JAR 包。此外,还可以配置远程仓库(如 Maven Central Repository),以便自动下载所需的依赖。 - **插件系统**: Maven 插件是实现各种构建任务的关键...
##### 2.2 在Eclipse中把项目打成WAR包 - **打包步骤**: - 在Eclipse中选择项目,导出为WAR包。 - 设置导出选项,包括导出路径等。 ##### 2.3 部署项目到测试环境 - **部署步骤**: - 将WAR包上传到测试环境的...