|
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有帐号?立即注册
x
恰恰证明了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[0];
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[i]);
BufferedReaderin=
newBufferedReader(
newFileReader(fs[i]));
out.putNextEntry(newZipEntry(fs[i]));
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[0];
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也是延续着它的拖拽控件的方法,提高速度。 |
|