压缩文件

import  java.io.BufferedInputStream;
import  java.io.BufferedOutputStream;
import  java.io.File;
import  java.io.FileInputStream;
import  java.io.FileOutputStream;
import  java.util.zip.ZipEntry;
import  java.util.zip.ZipOutputStream;

public   class  Zip  {
     static   final   int  BUFFER  =   2048 ;

     public   static   void  main(String argv[])  {
         try   {
            BufferedInputStream origin  =   null ;
            FileOutputStream dest  =   new  FileOutputStream( " E://test//myfiles.zip " );
            ZipOutputStream out  =   new  ZipOutputStream( new  BufferedOutputStream(
                    dest));
             byte  data[]  =   new   byte [BUFFER];
            File f  =   new  File( " e://test//a// " );
            File files[]  =  f.listFiles();

             for  ( int  i  =   0 ; i  <  files.length; i ++ )  {
                FileInputStream fi  =   new  FileInputStream(files[i]);
                origin  =   new  BufferedInputStream(fi, BUFFER);
                ZipEntry entry  =   new  ZipEntry(files[i].getName());
                out.putNextEntry(entry);
                 int  count;
                 while  ((count  =  origin.read(data,  0 , BUFFER))  !=   - 1 )  {
                    out.write(data,  0 , count);
                }
                origin.close();
            }
            out.close();
        }   catch  (Exception e)  {
            e.printStackTrace();
        }
    }
}

解压缩

import  java.io.BufferedInputStream;
import  java.io.BufferedOutputStream;
import  java.io.File;
import  java.io.FileOutputStream;
import  java.util.Enumeration;
import  java.util.zip.ZipEntry;
import  java.util.zip.ZipFile;

public   class  UnZip  {
     static   final   int  BUFFER  =   2048 ;

     public   static   void  main(String argv[])  {
         try   {
            String fileName  =   " E://test//myfiles.zip " ;
            String filePath  =   " E://test// " ;
            ZipFile zipFile  =   new  ZipFile(fileName);
            Enumeration emu  =  zipFile.entries();
             int  i = 0 ;
             while (emu.hasMoreElements()) {
                ZipEntry entry  =  (ZipEntry)emu.nextElement();
                 // 会把目录作为一个file读出一次,所以只建立目录就可以,之下的文件还会被迭代到。
                 if  (entry.isDirectory())
                 {
                     new  File(filePath  +  entry.getName()).mkdirs();
                     continue ;
                }
                BufferedInputStream bis  =   new  BufferedInputStream(zipFile.getInputStream(entry));
                File file  =   new  File(filePath  +  entry.getName());
                 // 加入这个的原因是zipfile读取文件是随机读取的,这就造成可能先读取一个文件
                 // 而这个文件所在的目录还没有出现过,所以要建出目录来。
                File parent  =  file.getParentFile();
                 if (parent  !=   null   &&  ( ! parent.exists())) {
                    parent.mkdirs();
                }
                FileOutputStream fos  =   new  FileOutputStream(file);
                BufferedOutputStream bos  =   new  BufferedOutputStream(fos,BUFFER);           
                
                 int  count;
                 byte  data[]  =   new   byte [BUFFER];
                 while  ((count  =  bis.read(data,  0 , BUFFER))  !=   - 1 )
                 {
                    bos.write(data,  0 , count);
                }
                bos.flush();
                bos.close();
                bis.close();
            }
            zipFile.close();
        }   catch  (Exception e)  {
            e.printStackTrace();
        }
    }
}

java实现zip与unzip相关推荐

  1. java中使用unzip_java实现zip与unzip

    java实现zip与unzip jdk提供了Zip相关的类方便的实现压缩和解压缩.使用方法很简单.下边分别是压缩和解压缩的简单事例 1,压缩的 import java.io.BufferedInput ...

  2. zip和unzip上的Java要点

    压缩是编写文件时可以在我们的代码中发出的主要动作之一. 因此,我发现在zip和unzip上必不可少的简单Java代码段,并且必须易于访问. 要点是纯Java语言,并以zip格式存储两个文件. 完成后, ...

  3. Java zip and unzip demo

    目录结构如下: import java.io.File; import java.io.FileInputStream; import java.io.FileOutputStream; import ...

  4. java unzip_Java zip压缩与unzip解压

    这里主要使用java.util.zip.*来实现zip和unzip: zip压缩public static void zip(String[] files, String zipFile) throw ...

  5. Java 的zip压缩和解压缩

    Java 的zip压缩和解压缩 好久没有来这写东西了,今天中秋节,有个东西想拿出来分享,一来是工作中遇到的问题,一来是和csdn问候一下,下面就分享一个Java中的zip压缩技术,代码实现比较简单,代 ...

  6. Java实现Zip文件解压

    2019独角兽企业重金招聘Python工程师标准>>> ##1. 两种java实现zip文件解压方式 使用JDK的原生类java.util.zip,上代码: import java. ...

  7. java zip文件操作,java 关于 zip 文件 的 基本操作

    这里用的是appache的包  为了防止文件中文名乱码问题 java 操作 .zip 文件  压缩文件 解压文件 删除文件夹等 package com.gaeainfo.toponymbase.uti ...

  8. zip4j -- Java处理zip压缩文件

    ZIP4J,作为解决了我的问题的终极解决方案,本来一开始在搜索引擎上就看到了它的踪迹,但因天朝的网络环境问题,zip4j的官网一直无法访问,最终使我多走了好多冤枉路,期间试过JDK的zip包,试过Ap ...

  9. java zip追加_基于Java向zip压缩包追加文件

    这篇文章主要介绍了基于Java向zip压缩包追加文件,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下 有个需求,从某个接口下载的一个zip压缩包,往里 ...

最新文章

  1. 一个高速lvs-dr替代系统设计 -- 基于dpdk的高性能负载均衡器
  2. 在(CListView)列表视图中添加右键菜单的方法
  3. ID3 Algorithm for Decision Trees
  4. 游戏设计模式思考:“穿越火线”中的“策略模式”
  5. 进程间通信(匿名管道)
  6. java的整型_java 整型
  7. java 实现内存数据表_数据结构 Java中的内存
  8. 于无声处 启明星辰吹响工控安全号角
  9. 中间件和Django缓存
  10. 吴恩达神经网络和深度学习-学习笔记-32-卷积神经网络示例
  11. 【学习笔记】Creo如何创建钣金件(利用骨架)
  12. 移动端开发框架mui介绍
  13. html2canvas黑背景,解决canvas转base64/jpeg时透明区域变成黑色背景的方法
  14. 深度卷积神经网络架构:从基本组件到结构创新
  15. POI动态导出多层表头的EXCEL文件
  16. 常规配置中的CAN模块操作
  17. Android 图像混合技术
  18. 怎么查看服务器的性能,查看服务器进程性能查看
  19. HTTP Authentication之Bearer认证
  20. ES6-正则的扩展-u、y修饰符

热门文章

  1. 自学python需要多长时间-Python学习步骤如何安排?多长时间可以学会精通呢?
  2. python画圆简单代码-python实现画圆功能
  3. 如何使用python批量下载-使用 Python + Selenium 批量下载素材
  4. 下面不属于python第三方库的安装方法的是-Python第三方库安装和卸载
  5. python面试-10个Python面试常问的问题(小结)
  6. python基础代码-python基础,python基础代码大全
  7. python3.7.2教程-centos7系统下python2与python3共存
  8. python判断是否为类的实例,是否为子类
  9. LeetCode Rectangle Area
  10. 用shell批量修改文件名