<!--<br><br>Code highlighting produced by Actipro CodeHighlighter (freeware)<br>http://www.CodeHighlighter.com/<br><br>--> 1 /////////////////////////////////////////////////////////////////////////////////////
2 //
3 // 程序:ZIP.java
4 //
5 // 描述:对文件压缩、解压
6 //
7 // 时间:2006-12-20
8 //
9 // 待修改 :
10 //(1).做成有界面的模式
11 //(2).加入加密功能
12 //(3).异常捕获,增加程序的强壮性。容错能力有待提高
13 //
14 ////////////////////////////////////////////////////////////////////////////////////
15
16 import java.util.*;
17 import java.util.zip.*;
18 import java.io.*;
19 class ZIP
20 {
21 public void zip (String zipFileName,String inputFile)throws Exception
22 {
23 //从String对象, 得到 File对象
24 zip (zipFileName,new File (inputFile));//调用下面的方法
25 }
26 public void zip (String zipFileName,File inputFile)throws Exception
27 {
28 //从String对象得到 FileOutputStream对象
29 //从FileOutputStream对象 再得到ZipOutputStream
30 ZipOutputStream out = new ZipOutputStream (new FileOutputStream (zipFileName));
31 zip (out,inputFile,"");//调用下面的方法
32 System.out.println ("zip done");
33 out.close ();
34 }
35 //最终压缩方法的入口(前面只是起到参数封装)
36 public void zip (ZipOutputStream out,File f,String base)throws Exception
37 {
38 System.out.println ("Zipping "+f.getName ());
39 //如果是目录的情况
40 if (f.isDirectory ())
41 {
42 File[] fl=f.listFiles ();
43 out.putNextEntry (new ZipEntry (base+"/"));
44 base=base.length ()==0?"":base+"/";
45 for (int i=0;i<fl.length ;i++ )
46 {
47 zip (out,fl[i],base+fl[i].getName ());
48 }
49 }
50 //文件的情况
51 else
52 {
53 out.putNextEntry (new ZipEntry (base));
54 FileInputStream in=new FileInputStream (f);
55 int b;
56 while ((b=in.read ()) != -1)
57 out.write (b);
58 in.close ();
59 }
60
61 }
62
63 public void unzip (String zipFileName,String outputDirectory)throws Exception
64 {
65 ZipInputStream in=new ZipInputStream (new FileInputStream (zipFileName));
66 ZipEntry z;
67 while ((z=in.getNextEntry () )!= null)
68 {
69 System.out.println ("unziping "+z.getName ());
70 if (z.isDirectory ())
71 {
72 String name=z.getName ();
73 name=name.substring (0,name.length ()-1);
74 File f=new File (outputDirectory+File.separator+name);
75 f.mkdir ();
76 System.out.println ("mkdir "+outputDirectory+File.separator+name);
77 }
78 else
79 {
80 File f=new File (outputDirectory+File.separator+z.getName ());
81 f.createNewFile ();
82 FileOutputStream out=new FileOutputStream (f);
83 int b;
84 while ((b=in.read ()) != -1)
85 out.write (b);
86 out.close ();
87 }
88 }
89
90 in.close ();
91 }
92
93 public static void main (String[] args)
94 {
95 try
96 {
97 ZIP t=new ZIP ();
98 //通过文件夹选项来获取参数,那样就更好了。
99 t.zip ("c://test2.zip","c://test2");
100 // t.unzip ("c://test1.zip","c://test2");
101 }
102 catch(Exception e)
103 {e.printStackTrace (System.out);}
104 }
105 }
分享到:
相关推荐
0.220l 0.220版的简化版,只支持0-3模式,并除去exe模型,与以前版本不兼容,默认扩展名为udz. 0.220lx 0.220l版的专用解压工具. -----------------------------------------------------------------------------------...
3dsmax模型 制冷压缩机 用于轮机拆装软件构建 教育类
TDM Solutions Skinny3D(3d模型压缩)是一款3D模型瘦身软件,是3D打印的最佳帮手!您的3D模型文件太大不方便传送、携带而伤脑筋吗?只要将您的STL或OBJ文件开启后按一个按钮,即可将文件大小缩减为原有大小的十分之一...
人工智能-项目实践-模型压缩-虹膜图像分类,尝试一些模型压缩的方法 介绍 虹膜图像分类,同时测试神经网络压缩相关技术 软件架构 enrollment_data是用于训练的数据集,test_data是测试用的数据集,他们都来自CASIA...
三维模型显示软件,压缩文件里含显示软件和5个简单模型。解压后,打开Debug文件下的Draw文件,在数据输入选项下选择三角形面元,再打开模型文件即可。
化工厂三维模型,包含设备管道厂房的布置。文件为FBX格式,可以导入unity,和3DMAX
draco_gltf压缩工具gltf-pipeline-master.zip
针对彩色视频压缩过程中压缩率不高或者视频质量损失过大的问题,提出一种基于视觉感知模型与...基于多组视频进行实验,算法成功地将标准的压缩软件提高了30%的压缩率,同时可以看出,视频上下文对本算法的影响较小。
该模型使用光伏电池来运行驱动空气压缩机的直流电机。 压缩空气然后转动气动马达以运行交流发电机。 由于气动马达错误,系统无法正常运行。 我不确定如何解决此问题以使模型正常工作。 任何建议或改进表示赞赏。 ...
模型压缩策略源代码.zip
针对当前大多数软件缺陷预测模型预测准确率较差的问题, 提出了结合最小绝对值压缩和选择方法与支持向量机算法的软件缺陷预测模型。首先利用最小绝对值压缩与选择方法的特征选择能力降低了原始数据集的维度, 去除了与...
由于采用的是“静态统计模型”,在压缩文件里必须保存统计出的结果以便解码时构造相同的编码树,或者直接保存编码树本身。 在解压缩时,首先从文件头读入保存的编码信息,从而对后续的编码解码,还原成ASCII的形式,...
利用径向基函数神经网络(RBF)建立对离心...应用数值计算软件MATLBA软件完成了离心压缩机的性能预测,分别对离心压缩机的压力比和效率进行了性能预测,预测效果表明,RBF神经网络的计算模型可以提高预测效率和预测精度。
以ZW-0.8/10-16风冷立式双缸单作用液化石油气压缩机为例,首先利用Solidworks软件建立了曲轴的三维模型,接着通过对压缩机曲轴的有限元分析,得到了曲轴疲劳破坏的危险点。最后利用ANSYS软件建立优化模型并对优化后的...
以单级空气压缩机为研究对象,以SolidWorks三维建模软件为平台,实现各零件的建模,建立装配体模型并进行相关的干涉检查。采用SolidWorks Motion模拟空气压缩机的运动,将其运动参数输出,得出曲轴颈部和左右轴承部分的...
数据压缩的基本概念和重要性对目前主要的压缩方法作了简单的说明并给出了数据压缩过程的基本模型以Haffman编码为主要研究对象分析了实现该算法的数据结构并以一个实例说明了Haffman编码的主要过程
MATLAB数据处理模型代码 基于压缩感知算法的数据压缩与复原代码.zip
摘要:介绍内存压缩技术和一个基于硬件的内存压缩系统模型,探讨内存压缩技术在嵌入式系统中的应用;重点介绍内存压缩系统的硬件要求及操作系统对内存压缩机制的支持;简单介绍内存压缩中常用的算法Lempel-Ziv,并就...
介绍了一种采用空气压缩设备对老采空区"活化"进行相似材料模型设计系统的研制设计过程,并采用工业测量系统对压力下的相似材料模型进行监测,讨论了系统的硬件、软件应用,以及空气压缩装置和工业测量系统的特点、使用...
并采用实时通信系统的动态仿真软件Systemview对压缩方案模型进行仿真,验证了压缩方案的可行性。测试结果表明:当语音信号频率在800~3000Hz范围内,抽样频率是4~6倍的最大频率语音信号时,压缩方案基本可以满足设计要求...