|
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有帐号?立即注册
x
还是要自己一点一点写代码,然后编译,改错再编译好那。还有最重要的是.net网页编程的编译环境非常好,你甚是不需要了解太多工具,对于简单的系统,你可以之了解一些语法就哦了。
写了一个用java.util.zip创立和读取zip文件的类
跟人人分享一下
内里用了递回挪用
呵呵
近期用了很多递回挪用!有空总结一下!
/**
TestZip.java
codingbySerolLuo.
rollingpig@163.com
2003/07/03
http://www.chinaunix.net/forum/viewforum.php?f=26
转载请保存此信息
*/
importjava.util.*;
importjava.util.zip.*;
importjava.io.*;
classTestZip
{
publicvoidzip(StringzipFileName,StringinputFile)throwsException{
zip(zipFileName,newFile(inputFile));
}
publicvoidzip(StringzipFileName,FileinputFile)throwsException{
ZipOutputStreamout=newZipOutputStream(newFileOutputStream(zipFileName));
zip(out,inputFile,"");
System.out.println("zipdone");
out.close();
}
publicvoidunzip(StringzipFileName,StringoutputDirectory)throwsException{
ZipInputStreamin=newZipInputStream(newFileInputStream(zipFileName));
ZipEntryz;
while((z=in.getNextEntry())!=null)
{
System.out.println("unziping"+z.getName());
if(z.isDirectory())
{
Stringname=z.getName();
name=name.substring(0,name.length()-1);
Filef=newFile(outputDirectory+File.separator+name);
f.mkdir();
System.out.println("mkdir"+outputDirectory+File.separator+name);
}
else{
Filef=newFile(outputDirectory+File.separator+z.getName());
f.createNewFile();
FileOutputStreamout=newFileOutputStream(f);
intb;
while((b=in.read())!=-1)
out.write(b);
out.close();
}
}
in.close();
}
publicvoidzip(ZipOutputStreamout,Filef,Stringbase)throwsException{
System.out.println("Zipping"+f.getName());
if(f.isDirectory())
{
File[]fl=f.listFiles();
out.putNextEntry(newZipEntry(base+"/"));
base=base.length()==0?"":base+"/";
for(inti=0;i<fl.length;i++)
{
zip(out,fl[i],base+fl[i].getName());
}
}
else
{
out.putNextEntry(newZipEntry(base));
FileInputStreamin=newFileInputStream(f);
intb;
while((b=in.read())!=-1)
out.write(b);
in.close();
}
}
publicstaticvoidmain(String[]args)
{
try{
TestZipt=newTestZip();
t.zip("c: est.zip","c: est");
t.unzip("c: est.zip","c: est2");
}
catch(Exceptione){e.printStackTrace(System.out);}
}
}
C++编译的是本地码,优点是启动快,而且可以精确控制资源因此可以开发很高效的程序.缺点是编程麻烦,而且容易留下安全隐患.跨平台靠源代码在各个平台间分别编译(一处编写到处编译) |
|