要实现一个xml文件的下载,本来是以流的方式来实现的,那样没问题,当返回一个流给客户端时,IE会自动弹出下载对话框。
但是由于使用的一个框架问题,导致不能用流的方式来进行下载,现在就只能从服务端传回一个资源的URL,通过window.open(url)命令实现弹出下载对话框的功能。可是对于xml文件,IE默认会采用打开的方式而不是下载方式,于是想对该xml文件先做压缩,这样既能大大的减小文件的大小,也能让IE弹出下载对话框。
压缩文件有两步主要操作:
1.zipoutputstream.putNextEntry(ZipEntry e),相当于是在zip文件里添加一个条目,但是并不是文件本身
e = new ZipEntry(String filename);
2.byte[] buffer = new byte[1024];
while (fileIn.read(buffer) != -1)
{
zipoutputstream.write(buffer);
}
zipoutputstream.closeEntry();
fileIn.close();
zipoutputstream.close();
此处才是写入文件内容。
参考:ZIP格式(http://dev.csdn.net/article/15/15545.shtm)
一个 ZIP 文件由三个部分组成:
压缩源文件数据区+压缩源文件目录区+压缩源文件目录结束标志
1、压缩源文件数据区
在这个数据区中每一个压缩的源文件/目录都是一条记录,记录的格式如下,也分成三部分:
[文件头+ 文件数据 + 数据描述符]
2、压缩源文件目录区
在这个数据区中每一条纪录对应在压缩源文件数据区中的一条数据
3、压缩源文件目录结束标志
其中除了文件数据,其他的都是zip格式中定义的结构
分享到:
相关推荐
java代码实现单个或多个文件压缩成rar包,本地要安装winRar插件。
本文将深入探讨如何使用Java来处理压缩文件,特别是针对标题提及的“java压缩文件以及文件夹”。我们将主要关注`ZipCompressor.java`这个类,它是实现文件和文件夹压缩的核心工具。 首先,让我们了解`java.util.zip...
java批量压缩文件跟文件夹,目前还不支持中文名,后期会改进,谢谢
Java在Linux环境下对GZ压缩文件的处理是一个常见的任务,特别是在处理大文件或者网络传输时。GZ是一种常用的文件压缩格式,它利用了gzip程序进行压缩,而在Java中,我们可以使用`java.util.zip`包中的类来实现对GZ...
在Java编程语言中,压缩文件是一项常见的任务,用于减少文件的存储空间,提高传输效率。HUFFMAN编码是一种数据压缩算法,它基于字符频率构建一棵最优的二叉树来进行编码,广泛应用于文本压缩。本节将详细介绍如何在...
本文主要介绍如何使用Java实现文件的ZIP压缩功能,并提供了完整的代码示例。通过学习本文,你可以掌握以下几个知识点: 1. 使用`java.util.zip`包中的类进行文件压缩。 2. 如何创建ZIP输出流并写入文件数据。 3. ...
本文将深入探讨如何使用Java来处理ZIP文件,特别是针对标题所提及的“java 中 zip压缩文件解压工具类”。我们将讨论核心的Java API,如`java.util.zip`包中的类,并通过一个名为`CompressFileUtils`的工具类来展示...
Java文件分割压缩是一种常见的操作,尤其在处理大数据或者网络传输时非常有用,因为单个大文件可能会导致处理效率低或传输困难。以下是一些相关的Java编程知识点: 1. **文件I/O操作**:在Java中,`java.io`包提供...
1. **Java压缩库**:Java标准库提供了`java.util.zip`包,它包含了多种压缩和解压缩的类,如`ZipOutputStream`、`ZipInputStream`、`GZIPOutputStream`和`GZIPInputStream`,用于处理ZIP和GZIP格式的文件。...
zipEntry.setComment("压缩文件"); // 可以添加注释,同样需要指定字符集 zos.putNextEntry(zipEntry); try (BufferedInputStream bis = new BufferedInputStream(new FileInputStream(file))) { byte[] buffer...
java压缩文件的程序代码,可以压缩单个文件夹,单个标准文件,多个标准文件 多个文件夹,以及文件夹和文件混合的压缩代码
java 开发压缩图片文件大小,2m-->200k 不是压缩宽高的
工具类中提供的方法有:压缩单个文件,压缩多个文件,解压文件到制定路径下。获取压缩文件的文件列表。压缩文件的文件注释。
Java作为一种广泛使用的编程语言,也提供了实现视频压缩的能力。本篇将详细探讨如何使用Java来实现视频压缩,以及涉及到的相关知识点。 首先,我们要理解视频压缩的基本原理。视频是由一帧一帧的静态图像(图片)...
要在Java中处理RAR格式的压缩文件,由于Java标准库不直接支持RAR格式,我们需要引入第三方库。一个常用的库是`com.igormaznitsa:nativesharp-jni`,它封装了WinRAR的API,使得Java可以调用WinRAR的功能。安装该库后...
2. **压缩文件**: 使用`ZipOutputStream`,你可以将文件或目录添加到ZIP文件中。首先,创建一个`ZipOutputStream`实例,然后通过调用`putNextEntry`方法开始新的`ZipEntry`,接着使用`write`方法写入文件数据,最后...
本篇文章将深入探讨如何使用Java进行文件压缩,主要关注`ZipOutputStream`类的使用,以及如何将多个文件打包成ZIP格式的压缩文件。 首先,我们需要了解`java.util.zip`包中的`ZipOutputStream`类。这个类是Java提供...
总结Apache Commons Compress 提供了方便的 API 来处理各种类型的压缩文件,包括 tar.gz。通过引入该库,我们可以轻松地在 Java 程序中实现文件和文件夹的压缩与解压缩功能。在实际开发中,注意错误处理、资源管理...
在Java编程中,将多个文件压缩成一个ZIP文件并实现下载是一个常见的任务,尤其是在处理大量数据或文件分发时。...同时,为了提高性能和用户体验,可以考虑使用异步处理或多线程来压缩文件,特别是当处理大量大文件时。