`
kingquake21
  • 浏览: 270647 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

使用JAVA压缩文件

阅读更多
要实现一个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包

    java代码实现单个或多个文件压缩成rar包,本地要安装winRar插件。

    java压缩文件以及文件夹

    本文将深入探讨如何使用Java来处理压缩文件,特别是针对标题提及的“java压缩文件以及文件夹”。我们将主要关注`ZipCompressor.java`这个类,它是实现文件和文件夹压缩的核心工具。 首先,让我们了解`java.util.zip...

    java压缩文件

    java批量压缩文件跟文件夹,目前还不支持中文名,后期会改进,谢谢

    java 解压,压缩linux GZ压缩文件

    Java在Linux环境下对GZ压缩文件的处理是一个常见的任务,特别是在处理大文件或者网络传输时。GZ是一种常用的文件压缩格式,它利用了gzip程序进行压缩,而在Java中,我们可以使用`java.util.zip`包中的类来实现对GZ...

    JAVA压缩文件代码

    在Java编程语言中,压缩文件是一项常见的任务,用于减少文件的存储空间,提高传输效率。HUFFMAN编码是一种数据压缩算法,它基于字符频率构建一棵最优的二叉树来进行编码,广泛应用于文本压缩。本节将详细介绍如何在...

    Java把文件压缩成zip

    本文主要介绍如何使用Java实现文件的ZIP压缩功能,并提供了完整的代码示例。通过学习本文,你可以掌握以下几个知识点: 1. 使用`java.util.zip`包中的类进行文件压缩。 2. 如何创建ZIP输出流并写入文件数据。 3. ...

    java 中 zip压缩文件解压工具类

    本文将深入探讨如何使用Java来处理ZIP文件,特别是针对标题所提及的“java 中 zip压缩文件解压工具类”。我们将讨论核心的Java API,如`java.util.zip`包中的类,并通过一个名为`CompressFileUtils`的工具类来展示...

    java文件分割压缩

    Java文件分割压缩是一种常见的操作,尤其在处理大数据或者网络传输时非常有用,因为单个大文件可能会导致处理效率低或传输困难。以下是一些相关的Java编程知识点: 1. **文件I/O操作**:在Java中,`java.io`包提供...

    JAVA文件压缩与解压缩实践(源代码+论文)

    1. **Java压缩库**:Java标准库提供了`java.util.zip`包,它包含了多种压缩和解压缩的类,如`ZipOutputStream`、`ZipInputStream`、`GZIPOutputStream`和`GZIPInputStream`,用于处理ZIP和GZIP格式的文件。...

    java压缩zip文件解决中文乱码问题

    zipEntry.setComment("压缩文件"); // 可以添加注释,同样需要指定字符集 zos.putNextEntry(zipEntry); try (BufferedInputStream bis = new BufferedInputStream(new FileInputStream(file))) { byte[] buffer...

    java压缩文件代码,压缩(文件) (文件夹) (文件和文件夹混合的)超完整版

    java压缩文件的程序代码,可以压缩单个文件夹,单个标准文件,多个标准文件 多个文件夹,以及文件夹和文件混合的压缩代码

    java压缩图片文件大小

    java 开发压缩图片文件大小,2m-->200k 不是压缩宽高的

    java压缩文件工具类

    工具类中提供的方法有:压缩单个文件,压缩多个文件,解压文件到制定路径下。获取压缩文件的文件列表。压缩文件的文件注释。

    java实现视频压缩

    Java作为一种广泛使用的编程语言,也提供了实现视频压缩的能力。本篇将详细探讨如何使用Java来实现视频压缩,以及涉及到的相关知识点。 首先,我们要理解视频压缩的基本原理。视频是由一帧一帧的静态图像(图片)...

    windows 下java调用winrar压缩文件为rar 格式

    要在Java中处理RAR格式的压缩文件,由于Java标准库不直接支持RAR格式,我们需要引入第三方库。一个常用的库是`com.igormaznitsa:nativesharp-jni`,它封装了WinRAR的API,使得Java可以调用WinRAR的功能。安装该库后...

    java压缩文件解压缩和文件的压缩

    2. **压缩文件**: 使用`ZipOutputStream`,你可以将文件或目录添加到ZIP文件中。首先,创建一个`ZipOutputStream`实例,然后通过调用`putNextEntry`方法开始新的`ZipEntry`,接着使用`write`方法写入文件数据,最后...

    使用Java进行文件压缩

    本篇文章将深入探讨如何使用Java进行文件压缩,主要关注`ZipOutputStream`类的使用,以及如何将多个文件打包成ZIP格式的压缩文件。 首先,我们需要了解`java.util.zip`包中的`ZipOutputStream`类。这个类是Java提供...

    使用Java API进行tar.gz文件及文件夹压缩解压缩.docx

    总结Apache Commons Compress 提供了方便的 API 来处理各种类型的压缩文件,包括 tar.gz。通过引入该库,我们可以轻松地在 Java 程序中实现文件和文件夹的压缩与解压缩功能。在实际开发中,注意错误处理、资源管理...

    java多文件压缩成zip文件并实现下载

    在Java编程中,将多个文件压缩成一个ZIP文件并实现下载是一个常见的任务,尤其是在处理大量数据或文件分发时。...同时,为了提高性能和用户体验,可以考虑使用异步处理或多线程来压缩文件,特别是当处理大量大文件时。

Global site tag (gtag.js) - Google Analytics