zip创建读取压缩文件
来源:互联网 发布:如何利用微信推广淘宝 编辑:程序博客网 时间:2024/06/05 23:40
//随便写点留着备用/** * @Project: publicapi * @Title: ZipTest.java * @Package net.*.test.user * @author zmn * @date 2015-1-6 下午01:34:25 * @Copyright: 2015 All rights reserved. * @since jdk1.6 * @version V1.0 */package net.*.test.user;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.ZipInputStream;import java.util.zip.ZipOutputStream;/** * @author amssy * @version V1.0 */ //创建压缩文件public class ZipTest { //制定缓冲区大小 static final int BUFFER = 2048; public static void main (String argv[]) { ZipTest zipTest = new ZipTest(); zipTest.unCompress(); } /** * <dt><span class="strong">方法描述:</span></dt><dd>将文件压入压缩文件</dd> * <dt><span class="strong">作者:</span></dt><dd>zmn</dd> * <dt><span class="strong">时间:</span></dt><dd>2015-1-6 下午05:38:47</dd> * @since v1.0 */ public void compress(){ try { //声明一个装饰输入流 BufferedInputStream origin = null; //声明并实例化一个输出流 : 制定输出zip文件位置在 c:\\myfigs.zip 文件可以没有但是盘符和存放路径文件夹必须存在 FileOutputStream dest = new FileOutputStream("c:\\myfigs.zip"); //声明并创建一个压缩流 ZipOutputStream out = new ZipOutputStream(new BufferedOutputStream(dest)); //zip压缩流有两种压缩格式 DEFLATED 只生成zip包不压缩 //out.setMethod(ZipOutputStream.DEFLATED); //STORED 对数据 //out.setMethod(ZipOutputStream.STORED); //定义每次读取字节数 byte data[] = new byte[BUFFER]; // get a list of files from current directory //创建待压缩的文件 File f = new File("c:\\file"); //获取文件夹下文件名集合 String files[] = f.list(); //循环添加压缩文件条目 for (int i=0; i < files.length; i++) { //创建文件输入流读取文件 FileInputStream fi = new FileInputStream("c:\\file\\"+files[i]); //创建装饰输入流装饰文件流 origin = new BufferedInputStream(fi, BUFFER); //创建一个压缩输出流的条目 ZipEntry entry = new ZipEntry(files[i]); //将跳入添加到输出流中 out.putNextEntry(entry); //从输出流读取文件添加到压缩文件中 //每次读取后data数组中有数据值 count为偏移量 int count; while((count = origin.read(data, 0,BUFFER)) != -1) { out.write(data, 0, count); } origin.close(); } out.close(); } catch(Exception e) { e.printStackTrace(); } } /** * <dt><span class="strong">方法描述:</span></dt><dd>解压压缩文件</dd> * <dt><span class="strong">作者:</span></dt><dd>zmn</dd> * <dt><span class="strong">时间:</span></dt><dd>2015-1-6 下午05:59:56</dd> * @since v1.0 */ public void unCompress(){ try { //创建装饰输出流 BufferedOutputStream dest = null; //创建输入流读取zip FileInputStream fis = new FileInputStream("c:\\myfigs.zip"); //用zip输入流流封装包裹装饰流进行解析 ZipInputStream zis = new ZipInputStream(new BufferedInputStream(fis)); //循环外创建一个条目 ZipEntry entry; //循环zip中的条目 用法就和普通的流一样 这是装饰流装载了一个条目的流数据 while((entry = zis.getNextEntry()) != null) { System.out.println("Extracting: " +entry); //偏移量 int count; //储存数组 byte data[] = new byte[BUFFER]; //文件输出流声明输出文件位置 FileOutputStream fos = new FileOutputStream("c:\\"+entry.getName()); //装饰流包裹输出流 dest = new BufferedOutputStream(fos, BUFFER); //用zip输入流读取压缩文件内容 (此时文件流内已经装载了一个条目的流数据) while ((count = zis.read(data, 0, BUFFER)) != -1) { //用输出流将读取到的data内的数据写出到文件 dest.write(data, 0, count); } //清洗装饰流防止挂壁 dest.flush(); //关闭装饰流 dest.close(); } //关闭压缩流 zis.close(); } catch(Exception e) { e.printStackTrace(); } }}
0 0
- zip创建读取压缩文件
- python读取zip压缩文件
- Java创建ZIP压缩文件
- php创建zip压缩文件
- java直接读取.zip压缩文件(一)
- zip 压缩文件
- zip压缩文件
- 用java中的java.util.zip包读取压缩文件
- 使用volley读取压缩文件的内容(zip、gz)
- JAVA读取zip文件 JAVA读取压缩文件 解压zip里面的指定格式文件
- 压缩文件读取
- java解压缩zip文件,java创建zip文件,java压缩文件,java解压文件
- ZIP压缩文件,并下载
- Java建立Zip压缩文件
- java Zip压缩文件
- 用java压缩文件 (ZIP)
- java 解压zip压缩文件
- Java建立Zip压缩文件
- map与set容器的使用
- jstl fn标签
- 直接用URLWithString来拼接NSURL有时候得到的NSURL是为nil的
- Java类加载简介
- JavaScript:事件绑定与监听
- zip创建读取压缩文件
- 二步解决win7因没有权限无法删除文件夹问题
- 通过SoapClient调用天气预报
- QT解析JSON
- nodejs 使用app.use(express.bodyParser()); 出行异常----解决方法
- 动态创建数据窗口时省略表名的方法
- JAVA 正则表达式验证讲解和实例(转)
- 第一个专栏《重走J2SE之路》,你是否和我有一样的困扰?
- 央行证实畅购因违规经营造成资金链断裂 未跑路