`

件_文_缩_压

阅读更多
/*******************************************************************************
* Copyright(c) 2005-2009 Huawei Tech. Co., Ltd.
* All rights reserved.
*
* Author: xbliuc
* Date  : 2011-3-22
*******************************************************************************/
package treeviewer;

import java.io.File;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.InputStream;
import java.util.zip.ZipEntry;
import java.util.zip.ZipOutputStream;

/**
* 压缩文件  -- 暂不支持目录中含有中文
* 解压文件 -- 必须使用apache的ant.jar包
*/
public class Zip
{
   
    /**
     * 压缩文件
     * @param args
     * @throws IOException
     * @throws IOException
     */
    @SuppressWarnings("all")
    public static void main(String[] args) throws IOException
    {
        getYSZip();//压缩文件
    }
   
    /**
     * 压缩文件调用方法
     * @throws IOException
     */
    @SuppressWarnings("all")
    public static void getYSZip() throws IOException
    {
        String zipName = "F:\\a.zip";//压缩后的文件名
        ZipOutputStream zos = new ZipOutputStream(new FileOutputStream(zipName));//压缩后的文件
        File file = new File("F:\\FileTest");//需要压缩的路径或文件
        ysZip(zos, file, "");
        zos.close();
        System.out.println("压缩完成");
    }
   
    /**
     * 压缩文件--工具方法
     * @throws IOException
     */
    @SuppressWarnings("all")
    public static void ysZip(ZipOutputStream zos, File file, String base)
            throws IOException
    {
        if (file.isDirectory()) //判断当前File对象是否是路径
        {
            File[] files = file.listFiles();//获取该路径下的所有内容
            zos.putNextEntry(new ZipEntry(base + "/"));
            base = base.length() == 0 ? "" : base + "/";//判断参数是否为空
            for (File childFile : files)
            {
                ysZip(zos, childFile, base + childFile);//递归路径下的所有文件
            }
        }
        else
        {
            zos.putNextEntry(new ZipEntry(base));//创建新的进入点
            InputStream is = new FileInputStream(file);
            int b;
            System.out.println("a " + base);
            while ((b = is.read()) != -1)
            {
                zos.write(b);//将字节写入Zip条目
            }
            is.close();
        }
    }
}
分享到:
评论
发表评论

文章已被作者锁定,不允许评论。

相关推荐

    2013.12.02.FE_节流装置计算软件_

    当流体通过一个狭窄区域(即节流件)时,由于速度增加,压力会降低,由此产生的压差可以用来推算流速和流量。在工业生产中,常见的节流装置包括孔板、文丘里管和喷嘴等。 该软件包含以下几个关键功能: 1. 孔板...

    Android编程指南-入门

    先 从 网 上 下 载 S D K, 下 载 完 成 之 后 � 解 压 缩 文 件 到 一 个 合 适 的 路 径 。 一 般 解 压 文 件 夹 的 命 名 规 则 是 a n d r o i d _ s d k _ < p l a t f o r m > _ < r e l e a s e > _ ...

    WinRAR_4.0.exe

    用户手册 RAR 4.00 控制台版本 欢迎使用 RAR 压缩文件管理器! ... RAR 是一个强力压缩工具,允许你管理和操作压缩文件。... 安装图形界面 RAR 版本 - WinRAR,它可以处理更多的压缩文件类型。...

    湖南省衡阳县第三中学2015_2016学年高二物理上学期期中试题文扫描版无答案

    这篇文档标题和描述所提及的是湖南省衡阳县第三中学在2015至2016学年度第二学期高二年级的物理期中考试试题,这是一个文版的扫描件,但并未提供答案。作为一份期中试题,它涵盖了高二物理阶段的重要知识点,这通常...

    JMeter中文.pdf

    如果你开发新的 JMeter 组件,你可以压 缩它们成jar包并拷贝到 JMeter 的 /lib/ext 目录。JMeter 将会自导发现在这里的任何jar包的JMeter 组 件。如果你不想把扩展 jar 包放到 lib/ext 目录,可以在 jmeter....

    中文简体压缩软件RAR 6.0

    用户手册 ~~~~~~~~ RAR 3.30 32 位控制台版本 ~~~~~~~~~~~~~~~~~~~~~~~~ =-=-=-=-=-=-=-=-=-=-=-=-=-=- ... 欢迎使用 RAR 压缩文件管理器!... RAR/DOS32 版本使用 _recover.rar 和 _reconst.rar ...

    金属材料空蚀试验方法研究进展

    室内空蚀试验通常使用包括磁致伸缩仪、文德里管型空蚀设备、旋转圆盘空蚀设备、水滴冲击设备等在内的空蚀试验设备。根据模拟水流流动的特性,这些设备可以被划分为无主流型空蚀设备和液体流动型空蚀设备两大类。 无...

    WINRAR5.0正式注册版

    b) RAR 5.0 压缩文件由于总是添加压缩文件结束块,所以不支持开关 -en(不添加“压 缩文件结束”块)。此块有助于帮助 WinRAR 安全跳过扩展数据,如附在压缩文件后 的数字签名; c) RAR 5.0 压缩文件不支持 ...

    rar压缩软件.rar

    RAR 是一个让你在命令行模式中管理压缩文件的控制台应用。RAR 提供压缩、加 密、数据恢复和许多其它此手册中描述的其它功能。 RAR 只支持 RAR 格式压缩文件,它默认有 .rar 扩展名。不支持ZIP 和其他格 ...

    winrar3.7 Beta8

    此文档包括 WinRAR 多功能综合压缩文件管理器 <br> WinRAR 功能: * WinRAR 引入了一个原创的压缩算法。它提供了比其它 PC 压缩工具更高 的压缩率,特别适用于处理可执行文件,对象库,大的文本文件...

    3D打印质量问题解决指南(23个常见问题解决办法)

    - **原因分析**:有时即使采取了上述措施,打印件仍然无法很好地粘附于平台。 - **解决办法**:使用溢边或底座功能增加材料与平台的接触面积,提高粘附性。 #### 4. 出料不足 - **4.1 不正确的线材直径** - **...

    WINRAR压缩软件

    它能够找到第一个卷并从头开始处理卷,以前的版本也会忽略“删除压缩文 件”。 2、对于具有加密文件名的压缩文件,“资源管理器”文件属性的“压缩文件”页面 上不显示压缩率栏。 如果没有密码,它 无法可靠地计算...

    Linux下的压缩文件剖析

    在Linux操作系统中,压缩文件是日常操作的重要组成部分,尤其对于处理大量数据和源代码的开发者而言。本篇文章主要探讨了Linux环境下常见的几种压缩文件格式及其处理方法,包括打包和压缩的概念,以及如何使用tar...

Global site tag (gtag.js) - Google Analytics