public void uploadFile() throws Exception {
File fileTemp=new File(path);
ZipFile zf = new ZipFile(fileTemp, "GBK");//支持中文
Enumeration enu = zf.getEntries();
while (enu.hasMoreElements()) {
ZipEntry entry = (ZipEntry) enu.nextElement();
String name = entry.getName();
//如果解压entry是目录,直接生成目录即可,不用写入,如果是文件,要将文件写入
String path = "c:/On/Bin/" + name;
File file = new File(path);
if (entry.isDirectory()) {
file.mkdirs();
} else {
InputStream is = zf.getInputStream(entry);
byte[] buf1 = new byte[1024];
int len;
if (!file.exists()) {
file.getParentFile().mkdirs();
file.createNewFile();
}else{
file.delete();
}
OutputStream out = new FileOutputStream(file);
while ((len = is.read(buf1)) > 0) {
String buf = new String(buf1, 0, len);
out.write(buf1, 0, len);
}
is.close();
out.close();
}
}
// 关闭流
}
分享到:
相关推荐
对于上传RAR和ZIP文件的解压,Java标准库提供了`java.util.zip`包,包含`ZipInputStream`和`ZipFile`类来处理ZIP文件,而RAR文件则需要第三方库如Apache Commons Compress。下面是一个解压ZIP文件的例子: ```java ...
本项目"java实现大文件上传分片上传断点续传.zip"提供了一个基于SpringBoot框架的解决方案,它实现了大文件的分片上传和断点续传功能。以下是关于这个项目的关键知识点的详细说明: 1. **大文件上传**: - 大文件...
6. **安全性**:理解文件上传下载的安全风险,如防止文件覆盖、恶意文件上传以及文件权限控制。 为了进一步深入,开发者可能还需要了解其他相关技术,如HTML表单的编写、JavaScript的Ajax异步请求、以及可能涉及到...
可以使用`ZipOutputStream`和`ZipInputStream`来创建和读取ZIP文件。如果需要支持其他压缩格式,如GZ或BZ2,可以利用Apache Commons Compress库。 6. **文件复制与移动**:复制文件通常涉及创建输入流(从源文件)...
在【maven3bin.zip】中,`apache-maven-3.6.3-bin.zip`包含了Maven的可执行文件和相关库,用户可以直接解压并配置环境变量来使用。而`maven-jar-plugin-3.2.0-source-release.zip`则提供了Maven Jar插件的源代码,...
这包括防止文件覆盖、拒绝恶意文件类型、限制文件大小以防止DoS攻击,以及确保文件名的安全性,避免路径遍历漏洞。 7. **异常处理**:在编写文件上传功能时,必须捕获并处理可能出现的异常,如网络中断、磁盘空间...
它提供了丰富的官方和社区开发的插件,覆盖了Java、Android、Groovy等多种语言和框架的构建需求。例如,`apply plugin: 'com.android.application'` 就是Android开发中常见的声明,它会自动应用Android应用的构建...
本话题聚焦于如何处理Java编译后的文件,特别是如何将这些文件从本地环境上传至Linux服务器,并在服务器端进行差异分析与统计。 首先,让我们了解一下Java编译过程。在本地开发环境中,我们通常使用JDK(Java ...
3. 执行SonarScanner分析,它会生成一个报告并上传到SonarQube服务器。 4. 在SonarQube的Web界面中查看分析结果,包括代码质量指标、缺陷分布、代码覆盖率等。 5. 分配任务给团队成员修复问题,并跟踪改进过程。 ...
- **ZipFile和InflaterInputStream**:使用`java.util.zip.ZipFile`和`java.util.zip.InflaterInputStream`对ZIP文件进行解压操作。 - **递归解压**:如果ZIP文件包含子目录,需要递归地解压每个条目。 - **文件...
6. **安全性考虑**:处理用户上传的文件时,必须确保安全性,避免代码注入、文件覆盖等安全问题。可以使用安全的文件命名策略,限制上传文件类型,并进行病毒扫描。 7. **前端技术**:虽然重点在于后端服务,但前端...
需要注意的是,文件大小限制、文件类型检查和安全性问题(如防止文件覆盖或恶意文件上传)都需要在代码中进行处理。 7. **HTML与JavaScript**: 在前端,HTML用于构建用户界面,包括登录表单和文件上传表单。可能...
1. **安装JaCoCo**:解压JaCoCo的zip文件,将jar包添加到项目构建工具的依赖中,配置测试覆盖率收集。 2. **执行测试**:运行项目测试,JaCoCo会生成覆盖率数据。 3. **安装SonarQube**:部署`sonarqube-6.7.7.zip`...
1. **下载与解压**:首先,从官方渠道下载sonar-scanner-2.5.zip并进行解压。 2. **环境变量设置**:将SonarScanner的bin目录添加到系统PATH环境变量中。 3. **初始化配置**:运行`sonar-scanner -Dsonar.projectKey...
8. **编程接口**:对于开发人员,许多编程语言都有库或API可以处理.zip文件,例如Python的`zipfile`模块,Java的`java.util.zip`包等,允许程序自动化处理压缩和解压缩任务。 9. **加密与安全性**:压缩工具还支持...
"plugins.zip" 文件就是为了简化这一过程,提供了一组预打包的Jenkins插件,可以直接下载并覆盖到Jenkins安装目录,无需逐个通过Jenkins管理界面进行下载安装。 首先,了解Jenkins与Maven的集成原理。Jenkins可以...
你应该验证文件类型,限制文件大小,并考虑在保存前对文件进行重命名,以避免文件覆盖或路径遍历攻击。 8. **错误处理**:在实现文件上传功能时,应考虑到可能出现的异常情况,如文件过大、格式不正确、磁盘空间...
标题“jsp_upload_0.2.1.zip_java upload_upload”暗示了这是一个关于Java Web应用程序的压缩包,专注于文件上传功能。这个版本号0.2.1可能代表这是该软件的一个迭代版本,通常意味着它在先前版本的基础上进行了改进...
上传文件时要考虑安全性,包括防止文件覆盖、恶意文件上传(如脚本注入)、文件权限设置等。应验证文件类型、大小,并对文件名进行清理,避免特殊字符和路径遍历攻击。 9. **最佳实践** 使用流式处理文件,减少...
这个名为 "spring-boot-start.zip" 的压缩包包含了一个基于 Spring Boot 的项目,它的核心目标是提供一个全面覆盖企业微信所有 API 的 JAVA SDK。企业微信 API 提供了丰富的功能,如消息推送、用户管理、部门管理、...