文档章节

java压缩文件

贝克街的亡灵sf
 贝克街的亡灵sf
发布于 2016/06/24 15:03
字数 299
阅读 10
收藏 0

package com.fh.util;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.util.zip.ZipEntry;
import java.util.zip.ZipOutputStream;

/**
 * java压缩成zip
 * 创建人:XSF创建时间:2016年6月14日
 * @version
 */
public class FileZip {

    /**
     * @param inputFileName 你要压缩的文件夹(整个完整路径)
     * @param zipFileName 压缩后的文件(整个完整路径)
     */
    public static void zip(String inputFileName, String zipFileName) throws Exception {
        zip(zipFileName, new File(inputFileName));
    }

    private static void zip(String zipFileName, File inputFile) throws Exception {
        ZipOutputStream out = new ZipOutputStream(new FileOutputStream(
                zipFileName));
        zip(out, inputFile, "");
        out.flush();
        out.close();
    }

    private static void zip(ZipOutputStream out, File f, String base) throws Exception {
        if (f.isDirectory()) {
            File[] fl = f.listFiles();
            out.putNextEntry(new ZipEntry(base + "/"));
            base = base.length() == 0 ? "" : base + "/";
            for (int i = 0; i < fl.length; i++) {
                zip(out, fl[i], base + fl[i].getName());
            }
        } else {
            out.putNextEntry(new ZipEntry(base));
            FileInputStream in = new FileInputStream(f);
            int b;
            //System.out.println(base);
            while ((b = in.read()) != -1) {
                out.write(b);
            }
            in.close();
        }
    }
    
     public static void main(String [] temp){       
         try {           
             zip("E:\\ftl","E:\\test.zip");//你要压缩的文件夹      和  压缩后的文件 
             }catch (Exception ex) {       
                 ex.printStackTrace();    
             }   
        }
}

//=====================文件压缩=========================
/*//把文件压缩成zip
File zipFile = new File("E:/demo.zip");
//定义输入文件流
InputStream input = new FileInputStream(file);
//定义压缩输出流    
ZipOutputStream zipOut = null;
//实例化压缩输出流,并制定压缩文件的输出路径  就是E盘下,名字叫 demo.zip
zipOut = new ZipOutputStream(new FileOutputStream(zipFile));
zipOut.putNextEntry(new ZipEntry(file.getName()));
//设置注释
zipOut.setComment("www.demo.com");
int temp = 0;
while((temp = input.read()) != -1) {
    zipOut.write(temp);    
}        
input.close();
zipOut.close();*/
//==============================================
 

© 著作权归作者所有

贝克街的亡灵sf
粉丝 2
博文 42
码字总数 21597
作品 0
松江
程序员
私信 提问
Windows不能用鼠标双击运行jar文件怎么

Java应用程序jar文件可以由 JVM(Java虚拟机)直接执行,只要操作系统安装了JVM便可以运行作为Java应用程序的jar文件,其跨平台特性使得很多工具软件都用jar方式来部署分发,比如用于HP WebO...

java-苦苦甜甜
2013/06/26
0
0
Linux下Tomcat的搭建以及开机自启动设置

首先进行下JDK的配置:   1.查看下系统信息,确认是32位还是64位:uname -a   2.下载相应位数的jdk压缩包,传到Linux系统,这里提供一个32位和64位的下载链接:https://pan.baidu.com/s...

武哥_话神
2018/04/27
0
0
Java常识:IDE、JRE、JDK等字段的阐述

目前对这些最基本的常识都难以阐述,颇觉羞愧,果断整理出来。 IDE(Integrated Development 集成开发环境),集成开发环境(简称IDE)软件是用于程序开发环境的应用程序,一般包括代码编辑器、...

MiniBu
2014/05/06
0
0
ubuntu配置jdk,jre同样适用

1、首先去官网http://www.oracle.com/technetwork/java/javase/downloads/index.html 下载最新版的jdk。 看需要,如果只需要配置jre环境也可下载jre即可。(注:我下载的为“jdk-7u60-linux-...

Ieenben
2014/06/26
0
0
Ubuntu 18.04.1 搭建Java环境和HelloWorld

一、搭建Java环境 系统环境 Ubuntu 18.04.1 JDK 8 IDEA 2018.2 1.下载JDK 官网地址:http://www.oracle.com/technetwork/java/javase/downloads/index.html 选择相应的版本,点击jdk,进入下...

王磊的博客
2018/08/24
0
0

没有更多内容

加载失败,请刷新页面

加载更多

kotlin中奖概率

fun main() { var wins = 0 var chance = 0.2 var playTime = 10// 1000万次 val n = 10000000 (1..n).forEach { if (play(chance, playTime)) win......

oschina4cyy
18分钟前
1
0
第十一讲:爬取猫眼网站上的前100名电影

本次我们来通过翻页爬取的方式爬取猫眼电影里面推荐的前100名电影,并存储到数据库。 1、我们登录猫眼,看下我们的数据在哪里 然后点击今日TOP100,看下具体的网页数据 最下面我们看到底部有...

刘日辉
18分钟前
15
0
git 设置全局用户名/邮箱和某个项目用户名/邮箱/密码

一、特定项目设置用户名/邮箱/密码的方法 找到项目所在目录下的 .git,进入.git文件夹,然后执行如下命令分别设置用户名和邮箱 git config user.name "dawn.he" git config user.email "1...

hexiaoming123
18分钟前
0
0
好程序员分享Linux重器vi编辑器

创建练习文件 [root@tianyun ~]# ll -a > list.txt 文件编辑器 gedit 文件编辑器 vi, vim, nano vi编辑器工作模式 命令模式: a. 光标定位 hjkl 0 $ gg G 3G 进入第三行 /string (n N 可以循...

好程序员IT
20分钟前
2
0
Git整理(五) git cherry-pick的使用

概述 git cherry-pick可以理解为”挑拣”提交,它会获取某一个分支的单笔提交,并作为一个新的提交引入到你当前分支上。 当我们需要在本地合入其他分支的提交时,如果我们不想对整个分支进行...

嘿嘿嘿IT
27分钟前
0
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部