`

java实现先压缩再下载然后删除压缩的文件

阅读更多

(1):压缩:

File zipFile = new File(zipfile);

用java中的java.util.zip.ZipOutputStream和java.util.zip.ZipEntry完成压缩功能。

  try {
   //创建文件输入流对象
   FileInputStream fis = new FileInputStream(file);
   //创建文件输出流对象
   FileOutputStream fos = new FileOutputStream(zipFile);
   //创建ZIP数据输出流对象
   ZipOutputStream zos = new ZipOutputStream(fos);//压缩包
   //创建指向压缩原始文件的入口
   ZipEntry ze = new ZipEntry(file);
   zos.putNextEntry(ze);
   //向压缩文件中输出数据
   int len;
   byte[] buf = new byte[2048];
   while((len=fis.read(buf)) != -1) {
           zos.write(buf,0,len);
           zos.flush();
      }
      fis.close();
      zos.close();
  } catch (IOException e) {
   System.out.println(e);
  }

 

(2) 下载:

用文件流的形式可以实现:

包括两种形式:一种是通过URL的形式,另一种形式通过response设置相应文本类型,设置输出形式

        int len = 0;
        response.reset(); // 非常重要
        if (isOnline) { // 在线打开方式
            URL u = new URL("file:///" + logsPath+"\\"+downloadFileName);
            response.setContentType(u.openConnection().getContentType());
            response.setHeader("Content-Disposition", "inline; filename=" + zipFile.getName());
            //文件名应该编码成UTF-8
        } else {//纯下载方式
            response.setContentType("application/x-msdownload");
            response.setHeader("Content-Disposition", "attachment; filename=" + zipFile.getName());
        }
       
       BufferedInputStream br = new BufferedInputStream(new FileInputStream(zipFile));
        OutputStream out = response.getOutputStream();
        byte[] buf = new byte[1024];
        while ((len = br.read(buf)) > 0)
            out.write(buf, 0, len);
        br.close();
        out.close();

(3) 删除就一句话:zipFile.delete();

 

 

分享到:
评论
2 楼 guoguo1010 2011-08-16  
错了 是直接下载压缩文件··
1 楼 guoguo1010 2011-08-16  
如果是直接下载文件呢
用一般的文件读写怎么不可以
望指教

相关推荐

    java 下载文件 压缩且删除源文件(支持文件夹与文件)

    zip,然后下载删除源文件与压缩文件。 3、可以指定文件都为最后生成为zip文件下载,且删除源文件。 1、压缩文件或者目录(只是压缩不删除):zipFileOrDirectory 2、程序自动判断如果是文件那么就是源文件下载,...

    java开发中压缩js,css文件

    这些工具不仅能够压缩文件,还能进行变量和函数名的混淆,进一步减小文件大小,但混淆可能会对代码可读性和调试带来困难,因此在生产环境使用时需谨慎。 对于JavaScript的压缩,Closure Compiler和YUI Compressor会...

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

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

    使用Java向服务器上传文件压缩包并实现解压缩

    JSch是一个纯Java实现的SSH2库,它允许用户连接到SFTP服务器,进行文件传输、创建目录、删除文件等操作。首先,我们需要在项目中引入JSch库,然后创建一个`Session`对象,设置用户名、密码或密钥对,并连接到SFTP...

    java实现对图片的压缩上传

    该工具类可以实现以下几个功能 1、得到有效文件的长度(即大小),以字节表示 getFileSize(String filePath),需要传入文件路径 2、可以上传图片与非图片文件。...3、删除文件的功能 deleteWebFile(String filePath)

    java 实现文件的压缩与解压

    在Java编程语言中,实现文件的压缩和解压是常见的任务,这有助于数据存储和传输。本示例将深入探讨如何使用Java的内置库来处理ZIP格式的压缩和解压缩。`java.util.zip`包提供了必要的类来实现这一功能。 首先,让...

    Java调用Zip类批量压缩多个文件.rar

    //文件数据(待压缩文件)  JButton jbAdd; //增加文件按钮  JButton jbDelete; //删除文件按钮  JButton jbZip; //压缩按钮  JTextField target; //目标文件文本域  public ZipDemo(){  super("用ZIP...

    java压缩解压文件

    java压缩解压文件

    一个java实现的分布式文件存储系统,可以实现文件分布存储在不同的服务器中,进行上传、下载、删除

    其次,分布式文件系统的核心功能包括文件存储、文件上传和文件下载。文件存储涉及如何将文件拆分成多个块,并在多台服务器上分配这些块,确保高可用性和容错性。这通常通过哈希算法来决定文件块的存储位置,以实现...

    Java多个文件根据URL下载后打包zip导出.zip

    在Java编程中,有时我们需要从网络上下载多个文件并将其打包为一个压缩文件,例如ZIP格式,以便于存储或分发。这个过程涉及到文件I/O操作、网络请求以及压缩算法的使用。以下是对这个场景的详细说明: 1. **网络...

    用java实现服务器上多个文件先打包,然后下载

    2. **文件打包**:Java的`java.util.zip`包提供了`ZipOutputStream`类,可以用来创建ZIP格式的压缩文件。你可以遍历要打包的文件,逐个添加到`ZipOutputStream`,实现打包过程。 3. **文件下载**:在Web应用中,...

    java压缩批量文件打包

    在Java编程环境中,批量文件打包成压缩文件是一个常见的需求,特别是在软件发布或数据传输时。Ant,一个由Apache基金会开发的构建工具,是实现这一功能的强大助手。本篇将详细介绍如何利用Java和Ant来实现批量文件的...

    java 基于WinRAR6.02封装的压缩及分卷压缩工具

    可以进行单压缩或分卷压缩(后续会基于WinRAR6.02版本封装解压工具) ...注:由于WinRAR控制台模式不支持定义压缩文件格式,故压缩后的文件均为rar格式(若需要设置zip格式可以自行封装,开启WinRAR后台执行模式即可)

    基于JAVA实现的文件压缩与解压缩实践(源代码+论文).zip

    三、Java压缩库介绍 1. **ZipOutputStream** 和 **ZipInputStream**:Java标准库提供了对ZIP格式的支持,可以方便地进行文件的压缩和解压缩。 2. **GZIPOutputStream** 和 **GZIPInputStream**:用于处理GZIP格式的...

    ant-1.9.7jar包 java实现压缩文件文件夹

    描述中提到的“java实现压缩文件文件夹”是指使用Java编程语言来执行文件和文件夹的压缩操作。Java标准库提供了一个名为`java.util.zip`的包,其中包含了一些类(如ZipOutputStream)用于创建ZIP格式的压缩文件。...

    Java实现zp大文件解压、合并、复制、删除(30万文件大约2个小时)

    当解压合并结束后,程序将PROVINCE_DIR路径下的文件移动到DONE_FILE_PATH下,并且删除PROVINCE_DIR跟UN_ZIP_PATH下文件,这样保证程序每次运行PROVINCE_DIR文件夹下的文件跟UN_ZIP_PATH下的文件都是最新未处理过的,...

    Java分布式文件对象存储Minio框架并发上传、下载、合并、删除等操作示例Demo完整版

    可以先下载目标对象到本地,然后将其他对象的内容追加到本地文件,最后再将合并后的文件上传为一个新的对象。 **4. 删除对象** 删除单个对象使用`MinioClient.removeObject()`方法。如果需要批量删除,可以遍历...

    JAVA压缩文件夹(压缩文件)

    JAVA实现的压缩文件夹、文件的程序,使用的时候,请把代码中的package语句改成相应的包名,或者直接删除,使用默认的包名。

    基于JAVA的文件压缩与解压缩工具设计与实现

    对于压缩和解压缩,通常涉及字节流,因为它们能够处理二进制数据,如图片、音频或压缩文件。`InputStream`和`OutputStream`是所有字节流的基类,而`FilterInputStream`和`FilterOutputStream`则用于创建过滤器流,...

    Java压缩PNG图像文件.rar

    总结来说,Java压缩PNG图像文件是一个涉及图像处理和压缩算法的复杂过程。开发者需要理解图像的内部结构,选择合适的压缩策略,并可能需要编写自定义的压缩代码以实现最佳的文件大小与质量平衡。对于J2ME游戏开发,...

Global site tag (gtag.js) - Google Analytics