了解下JAVA的[JAVA100例]040、紧缩息争压文件
恰恰证明了java的简单,要不怎么没有通过c/c++来搞个这种框架?//文件名:myZip.java
importjava.io.*;
importjava.util.*;
importjava.util.zip.*;
/**
*<p>Title:文件紧缩息争压</p>
*<p>Description:利用ZipInputStream和ZipOutputStream对文件
* 和目次举行紧缩息争压处置</p>
*<p>Copyright:Copyright(c)2003</p>
*<p>Filename:myZip.java</p>
*@version1.0
*/
publicclassmyZip{
/**
*<br>办法申明:完成文件的紧缩处置
*<br>输出参数:String[]fs紧缩的文件数组
*<br>前往范例:
*/
publicvoidZipFiles(String[]fs){
try{
StringfileName=fs;
FileOutputStreamf=
newFileOutputStream(fileName+".zip");
//利用输入流反省
CheckedOutputStreamcs=
newCheckedOutputStream(f,newAdler32());
//声明输入zip流
ZipOutputStreamout=
newZipOutputStream(newBufferedOutputStream(cs));
//写一个正文
out.setComment("AtestofJavaZipping");
//对多文件举行紧缩
for(inti=1;i<fs.length;i++){
System.out.println("Writefile"+fs);
BufferedReaderin=
newBufferedReader(
newFileReader(fs));
out.putNextEntry(newZipEntry(fs));
intc;
while((c=in.read())!=-1)
out.write(c);
in.close();
}
//封闭输入流
out.close();
System.out.println("Checksum::"+cs.getChecksum().getValue());
}catch(Exceptione){
System.err.println(e);
}
}
/**
*<br>办法申明:解紧缩Zip文件
*<br>输出参数:StringfileName解压zip文件名
*<br>前往范例:
*/
publicvoidunZipFile(StringfileName){
try{
System.out.println("读取ZIP文件........");
//文件输出流
FileInputStreamfi=
newFileInputStream(fileName+".zip");
//输出流反省
CheckedInputStreamcsi=newCheckedInputStream(fi,newAdler32());
//输出流紧缩
ZipInputStreamin2=
newZipInputStream(
newBufferedInputStream(csi));
ZipEntryze;
System.out.println("Checksum::"+csi.getChecksum().getValue());
//解压全体文件
while((ze=in2.getNextEntry())!=null){
System.out.println("Readingfile"+ze);
intx;
while((x=in2.read())!=-1)
//这里是写文件,write是以byte体例输入。
System.out.write(x);
}
in2.close();
}catch(Exceptione){
System.err.println(e);
}
}
/**
*<br>办法申明:读取Zip文件列表
*<br>输出参数:StringfileNamezip文件名
*<br>前往范例:Vector文件列表
*/
publicVectorlistFile(StringfileName){
try{
String[]aRst=null;
VectorvTemp=newVector();
//zip文件对象
ZipFilezf=newZipFile(fileName+".zip");
Enumeratione=zf.entries();
while(e.hasMoreElements()){
ZipEntryze2=(ZipEntry)e.nextElement();
System.out.println("File:"+ze2);
vTemp.addElement(ze2);
}
return vTemp;
}catch(Exceptione){
System.err.println(e);
returnnull;
}
}
/**
*<br>办法申明:主办法
*<br>输出参数:
*<br>前往范例:
*/
publicstaticvoidmain(String[]args){
try{
StringfileName=args;
myZipmyZip=newmyZip();
myZip.ZipFiles(args);
myZip.unZipFile(fileName);
Vectordd=myZip.listFile(fileName);
System.out.println("FileList:"+dd);
}catch(Exceptione){
e.printStackTrace();
}
}
}
j2EE和asp比较,其实也没什么比的,原因和我上面说那些比较差不了多少,也是稳定性,安全性,J2EE比asp高,速度上比不过asp,asp也是延续着它的拖拽控件的方法,提高速度。 接着就是EJB了,EJB就是Enterprise JavaBean, 看名字好象它是Javabean,可是它和Javabean还是有区别的。它是一个体系结构,你可以搭建更安全、更稳定的企业应用。它的大量代码已由中间件(也就是我们常听到的 Weblogic,Websphere这些J2EE服务器)完成了,所以我们要做的程序代码量很少,大部分工作都在设计和配置中间件上。 Jive的资料在很多网站上都有,大家可以找来研究一下。相信你读完代码后,会有脱胎换骨的感觉。遗憾的是Jive从2.5以后就不再无条件的开放源代码,同时有licence限制。不过幸好还有中国一流的Java程序员关注它,外国人不开源了,中国人就不能开源吗?这里向大家推荐一个汉化的Jive版本—J道。Jive(J道版)是由中国Java界大名 鼎鼎的banq在Jive 2.1版本基础上改编而成, 全中文,增加了一些实用功能,如贴图,用户头像和用户资料查询等,而且有一个开发团队在不断升级。你可以访问banq的网站 你快去找一份Java的编程工作来做吧(如果是在校学生可以去做兼职啊),在实践中提高自己,那才是最快的。不过你得祈祷在公司里碰到一个高手,而且他 还愿意不厌其烦地教你,这样好象有点难哦!还有一个办法就是读开放源码的程序了。我们知道开放源码大都出自高手,他们设计合理,考虑周到,再加上有广大的程序员参与,代码的价值自然是字字珠叽,铿锵有力(对不起,偶最近《金装四大才子》看多了)。 让你能够真正掌握接口或抽象类的应用,从而在原来的Java语言基础上跃进一步,更重要的是,设计模式反复向你强调一个宗旨:要让你的程序尽可能的可重用。 Pet Store.(宠物店)是SUN公司为了演示其J2EE编程规范而推出的开放源码的程序,应该很具有权威性,想学J2EE和EJB的朋友不要 错过了。 Java自面世后就非常流行,发展迅速,对C++语言形成了有力冲击。Java 技术具有卓越的通用性、高效性、平台移植性和安全性,广泛应用于个人PC、数据中心、游戏控制台 http://www.jdon.com/去下载,或到同济技术论坛的服务器ftp://nro.shtdu.edu.cn去下,安装上有什么问题,可以到论坛上去提问。 你现在最缺的是实际的工作经验,而不是书本上那些凭空想出来的程序。
页:
[1]