为了正常的体验网站,请在浏览器设置里面开启Javascript功能!

java压缩解压文件文件夹

2017-09-30 7页 doc 22KB 27阅读

用户头像

is_421808

暂无简介

举报
java压缩解压文件文件夹java压缩解压文件文件夹 用java压缩文件夹/文件 压缩文件夹代码: import java.io.File; import org.apache.tools.zip.ZipOutputStream; //这个包在 ant.jar里,要到官方网下载 import java.io.FileInputStream; import java.io.FileOutputStream; import java.util.zip.ZipInputStream; import java.util.zip.ZipEntry; ...
java压缩解压文件文件夹
java压缩解压文件文件夹 用java压缩文件夹/文件 压缩文件夹代码: import java.io.File; import org.apache.tools.zip.ZipOutputStream; //这个包在 ant.jar里,要到官方网下载 import java.io.FileInputStream; import java.io.FileOutputStream; import java.util.zip.ZipInputStream; import java.util.zip.ZipEntry; public class CompressBook { public CompressBook() {} /**//* * inputFileName 输入一个文件夹 * zipFileName 输出一个压缩文件夹 */ public void zip(String inputFileName) throws Exception { String zipFileName = "c:\\test.zip"; //打包后文件名 字 System.out.println(zipFileName); zip(zipFileName, new File(inputFileName)); } private void zip(String zipFileName, File inputFile) throws Exception { ZipOutputStream out = new ZipOutputStream(new FileOutputStream(zipFileName)); zip(out, inputFile, ""); System.out.println("zip done"); out.close(); } private void zip(ZipOutputStream out, File f, String base) throws Exception { if (f.isDirectory()) { File[] fl = f.listFiles(); out.putNextEntry(new org.apache.tools.zip.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 org.apache.tools.zip.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){ CompressBook book = new CompressBook(); try { book.zip("c:\\c");//你要压缩的文件夹 }catch (Exception ex) { ex.printStackTrace(); } } } 压缩文件代码: import java.io.*; import java.util.zip.*;//ZipOutputStream这个流在这里 import java.util.*; public class ZipOutputStreamTest { public static void main(String[] args) throws Exception { File f = new File("a.jpg"); FileInputStream fis = new FileInputStream(f); BufferedInputStream bis = new BufferedInputStream(fis); byte[] buf = new byte[1024]; int len; FileOutputStream fos = new FileOutputStream(f.getName()+".zip"); BufferedOutputStream bos = new BufferedOutputStream(fos); ZipOutputStream zos = new ZipOutputStream(bos);//压缩 包 ZipEntry ze = new ZipEntry(f.getName());//这是压缩包 名里的文件名 zos.putNextEntry(ze);//写入新的 ZIP 文件条目并将流定 位到条目数据的开始处 while((len=bis.read(buf))!=-1) { zos.write(buf,0,len); zos.flush(); } bis.close(); zos.close(); } } 用java解压文件夹 import java.io.File; import java.io.FileInputStream; import java.io.FileNotFoundException; import java.io.FileOutputStream; import java.io.IOException; import java.util.zip.ZipEntry; import java.util.zip.ZipInputStream; import java.util.zip.ZipOutputStream; /** *//** * 使用java核心类库打包、解包zip文件,不足之处在于压缩中文名的文件时,在压缩包内中文字符是乱码, * 在windows下解压后编码正常显示中文,而其他系统下则不能正常还原; */ public class TestZip { /** *//** * 定义解压缩zip文件的 * @param zipFileName * @param outputDirectory */ public void unzip(String zipFileName, String outputDirectory) { try { ZipInputStream in = new ZipInputStream(new FileInputStream(zipFileName)); //获取ZipInputStream中的ZipEntry条目,一个zip 文件中可能包含多个ZipEntry, //当getNextEntry方法的返回值为null,则代表 ZipInputStream中没有下一个ZipEntry, //输入流读取完成; ZipEntry z = in.getNextEntry(); while (z != null) { System.out.println("unziping " + z.getName()); //创建以zip包文件名为目录名的根目录 File f = new File(outputDirectory); f.mkdir(); if (z.isDirectory()) { String name = z.getName(); name = name.substring(0, name.length() - 1); System.out.println("name " + name); f = new File(outputDirectory + File.separator + name); f.mkdir(); System.out.println("mkdir " + outputDirectory + File.separator + name); } else { f = new File(outputDirectory + File.separator + z.getName()); f.createNewFile(); FileOutputStream out = new FileOutputStream(f); int b; while ((b = in.read()) != -1) { out.write(b); } out.close(); } //读取下一个ZipEntry z = in.getNextEntry(); } in.close(); } catch (Exception e) { // TODO 自动生成 catch 块 e.printStackTrace(); } } public static void main(String[] args) throws Exception{ TestZip t = new TestZip(); t.unzip("c:/a.zip", "c:/b"); //解压C盘下的a.zip文件放到C盘下的b文件夹里 //一定要注意a.zip文件要经java程序压缩出来的文件, 这个程序才可以解压 } }
/
本文档为【java压缩解压文件文件夹】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑, 图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。 本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。 网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。

历史搜索

    清空历史搜索