java Zip压缩输入输出流问题
来源:互联网 发布:阿里妈妈推广软件 编辑:程序博客网 时间:2024/05/20 17:27
分享 2012-11-27 22:03a672489861 | 浏览 2752 次
package com.zjw;import java.util.zip.*;import java.io.*;public class MyZip {private void zip(String zipFileName, File inputFile) throws IOException {ZipOutputStream out = new ZipOutputStream(new FileOutputStream(zipFileName));// 创建ZipOutputStream类对象zip(out, inputFile, "");// 调用方法System.out.println("压缩中...");out.close();// 将流关闭}private void zip(ZipOutputStream out, File f, String base)throws IOException {if (f.isDirectory()) {// 测试此抽象路径名表示的文件是否是一个目录File[] fl = f.listFiles(); // 获取路径数组for (int i = 0; i < fl.length; i++) {System.out.println(fl[i].getName() + " " + fl[i].getPath());// 输出路径数组}System.out.println();out.putNextEntry(new ZipEntry(base + "/"));// 写入此目录的Entry base = base.length() == 0 ? "" : base + "/";// 判断参数是否为空 for (int i = 0; i < fl.length; i++) {// 循环遍历数组中的文件zip(out, fl[i], fl[i].getPath());}} 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);// 将字节写入当前ZIP条目}in.close();}}/** * @param args */public static void main(String[] args) {// TODO Auto-generated method stubMyZip book = new MyZip();// 创建本例对象try {book.zip("hello.zip", new File("src"));// 调用方法,参数为压缩后的文件与要压缩的文件System.out.println("压缩完成");} catch (Exception e) {e.printStackTrace();}}}输出结果如下:com src\comzjw src\com\zjwMyZip.java src\com\zjw\MyZip.javasrc\com\zjw\MyZip.java压缩中...压缩完成out.putNextEntry(new ZipEntry(base + "/"));// 写入此目录的Entry base = base.length() == 0 ? "" : base + "/";// 判断参数是否为空 这两句话有什么用?为什么要将字节写入ZIP条目? 还有为什么我得到的压缩文件中会有hello这个文件夹?求详细解释
2012-11-30 15:17提问者采纳
out.putNextEntry(new ZipEntry(base + "/"));// 写入此目录的Entry 这句应该是将文件压入zip文件的根目录下base = base.length() == 0 ? "" : base + "/";// 判断参数是否为空 这句子是判断写入压缩文件的目录,默认写入压缩文件的根目录有hello这个文件夹应该是你src中有这个文件吧
- 提问者评价
谢谢!
0 0
- java Zip压缩输入输出流问题
- JAVA之输入输出流(zip未更新)
- java压缩zip文件中文乱码问题
- java 解压缩zip 压缩zip
- Java IO _ Zip 压缩流
- Java Zip压缩
- java 压缩zip
- JAVA zip 压缩
- Java压缩zip文件
- java zip压缩
- JAVA zip压缩
- JAVA压缩/解压ZIP
- java zip压缩
- Java压缩/解压ZIP
- java zip压缩解压
- java zip压缩。解压缩
- java zip压缩
- java Zip 压缩文档
- 个人工作笔记
- FFMPEG 相关参数
- java基础(8)--深入理解Java.String
- 栈和队列的基本运算实现
- 【笔试/面试】—— 数组中第二大的数
- java Zip压缩输入输出流问题
- bzoj 2219: 数论之神 数论
- Myeclipse和FlashBuilder的集成
- StartForResult,getStringExtra,putExtra详解
- Linux学习-常见压缩/解压缩及打包命令
- Latex学习相关【不定时更新】
- 索引
- UIPresentationController简介
- java解析获取Excel中的数据--同时兼容2003及2007