如果zip文件上传到服务器解压一般需要保存到磁盘,然后解压。使用以后删除解压文件。以下演示的是无需解压到磁盘,直接读取zip包内文件的内容。zip文件里面含有一个ejb.txt文本文件。文件上传使用的是commons-fileupload包
jsp文件
<form action="upfile.do" enctype="multipart/form-data">
<input type="file" name="ufile" id="ufile">
<input name="sunbit" type="submit" value="上传">
</form>
java文件,读取的是zip文件,zip文件包含一个ejb.txt文件。页面打印ejb.txt文件内容
@Override
protected ActionForward unspecified(ActionMapping mapping, ActionForm form,
HttpServletRequest request, HttpServletResponse response)
throws Exception {
request.setCharacterEncoding("gbk");
response.setCharacterEncoding("gbk");//设置字符集
DiskFileUpload upload=new DiskFileUpload();
List list=upload.parseRequest(request);
if (DiskFileUpload.isMultipartContent(request)) {
for (Iterator iterator = list.iterator(); iterator.hasNext();) {
FileItem file = (FileItem) iterator.next();
if (!file.isFormField()) {
InputStream inputStream = file.getInputStream();
//inputStream可以读取任何文件,干什么都可以了
//以下代码为读取zip文件中的txt文档在页面显示
showZip(response,inputStream);
}
}
}
return null;
}
private void showZip(HttpServletResponse response, InputStream inputStream)throws IOException {
ZipInputStream zis=new ZipInputStream(inputStream);
ZipEntry zipEntry=zis.getNextEntry();
while (zipEntry!=null) {
if ("ejb.txt".equals(zipEntry.getName())) {//也可以建个map先把文件读进去,以后用的时候再取
InputStreamReader isr = new InputStreamReader(zis);
BufferedReader br = new BufferedReader(isr);
String str = null;
while ((str = br.readLine()) != null) {
response.getWriter().println(str);
}
}
zipEntry=null;
zipEntry=zis.getNextEntry();
}
}
相关推荐
"Java读取Zip文件和文件内容" Java无需解压直接读取Zip文件和文件内容是Java语言中的一种常见操作,通过使用java.util.zip包中的ZipFile、ZipInputStream和ZipEntry类,我们可以轻松地读取Zip文件和文件内容。下面...
JSZip是一款纯JavaScript编写的库,它允许开发者在浏览器端创建、读取和编辑ZIP文件。这个库的强大之处在于,无需任何服务器端支持,就可以在客户端处理ZIP文件,这对于前端开发者来说是一个非常实用的工具。下面...
本场景涉及的是使用Java处理ZIP文件,解压后并将解压的文件上传至服务器。以下是对这一过程的详细阐述: 首先,我们需要理解`ZIP`文件格式。ZIP是一种常用的文件压缩格式,它能将多个文件或目录打包成一个单一的...
这个压缩包“ajaxfileupload1.0.zip”提供了一种实现无刷新文件上传的解决方案。无刷新上传,也称为异步文件上传,是现代网页应用中常用的一个功能,它允许用户在不重新加载整个页面的情况下发送文件到服务器。这种...
通过`CURLOPT_POSTFIELDS`选项设置POST数据,对于文件上传,通常需要将文件读取到内存中,然后传递给Curl。Curl会自动处理文件内容的编码和传输。同时,可能还需要设置`Content-Type`为`multipart/form-data`来表明...
4. **在线服务**:也有一些专门提供文件修复服务的在线平台,可以将损坏的ZIP文件上传,由专业人员进行修复。 5. **系统还原**:如果ZIP文件损坏是由于操作系统问题引起的,可以尝试系统还原到文件未损坏的日期。 ...
本文将详细讲解如何实现这个功能,包括文件上传、实时进度跟踪、指定解压路径以及解压过程。 首先,让我们从文件上传开始。在Java中,可以使用`java.io`和`java.nio`包中的类来处理文件输入输出。如果你正在构建一...
/** * 根据 策划的配置表来生成 json * excel 目前使用的版本为2007,其他版本未测试, * excel 格式 定义 ... * 二进制的方式,一般用于 后台管理界面 的文件上传后的处理。 * @author wgq * */
需要注意的是,由于浏览器的安全限制,`zip.js`可能无法直接读取本地文件系统上的ZIP文件,除非文件是通过拖放或文件输入控件上传的。在这种情况下,你可以使用`FileReader`API先读取文件,然后再传递给`zip.js`。 ...
在iOS平台上,解压ZIP文件是一项常见的任务,无论是为了分发应用程序更新、处理用户上传的数据还是下载内容。本文将深入探讨如何在iOS中实现ZIP文件的解压操作,结合源码和工具,帮助开发者更好地理解和应用这一技术...
它可能包含了读取ZIP文件结构、调用解压函数(如PHP内置的`unzip()`函数或第三方库如PclZip)以及处理解压后的文件等功能。 在线解压服务的成功运行需要服务器环境的支持。例如,服务器必须有足够的存储空间来临时...
- **解压**: 使用`java.util.zip`包中的`ZipFile`类,可以读取并遍历ZIP文件中的所有条目。然后,使用`ZipEntry`获取每个条目的信息,并通过`ZipInputStream`解压缩到目标文件或目录。 - **压缩**: 若要创建ZIP...
这里我们详细探讨一下"FTP,SFTP文件上传,下载到服务器,ZIP文件压缩,加密,解密,然后再上传到服务器"这一主题。 首先,FTP(File Transfer Protocol)是一种标准网络协议,用于在Internet上进行文件传输。它允许...
在JavaScript环境中,我们通常需要借助第三方库来读取和解压ZIP文件。 二、引入JS ZIP库 由于JavaScript本身并不直接支持ZIP文件的操作,我们需要引入如JSZip这样的第三方库。JSZip是一个轻量级的库,它允许在...
`ZipArchive`提供了打开、创建、读取、写入、添加、删除和提取ZIP文件的方法。在我们的场景中,我们需要使用`open()`方法来打开ZIP文件,`extractTo()`方法来解压缩文件,并且可能需要`close()`方法来释放资源。 1....
本示例“java文件上传demo.zip”很可能是提供了一个Java实现文件上传功能的示例代码。下面将详细介绍Java文件上传的相关知识点。 1. **Multipart请求**: 在HTTP协议中,文件上传通常涉及`multipart/form-data`...
对于文件上传,我们可能需要获取到这些文件的路径,以便读取和上传。 在Android中,访问文件通常通过`java.io.File`类进行。例如,如果我们要上传图片,可以这样创建一个File对象: ```java File imageFile = new ...
这个程序为网站管理员提供了便捷的方式来处理用户上传的ZIP文件,无需下载到本地,直接在服务器上进行操作,提高了效率并减少了资源消耗。 在PHP中,处理ZIP文件主要依赖于`ZipArchive`类,这是PHP内建的一个扩展,...
它是由一系列XML文件压缩成一个ZIP文件,包含了工作表、样式、公式等信息。因此,读取xlsx文件并不像处理传统文本文件那么简单,需要借助特定的库或工具。 在uniapp中,由于JavaScript原生不支持直接读取二进制文件...
以下是一个简单的示例,展示如何将单个文件压缩成ZIP文件: ```java import java.io.*; import java.util.zip.*; public class ZipUtil { public static void zipFile(String srcFilePath, String ...