|
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有帐号?立即注册
x
但是我同意你的观点,对于大型项目来说,应该是采用框架的一部分,根据功能的不同而改进,欢迎你能再提出些宝贵意见,我会多多学习的。说到jbuilder,我可能是个人感觉,用的时候确实没有vs爽,我最喜欢的IDE是netbeans,谢谢。
多半java程序员都十分分明利用jar文件将构成java办理计划的各类资本(即.class文件、声响和图象)打包的长处。刚入手下手利用jar文件的人常问的一个成绩是:“怎样从jar文件中提取图象呢?”本文将回覆这个成绩,并会供应一个类,这个类使从jar文件中提取任何资本变得十分复杂!
加载gif图象
假定我们有一个jar文件,个中包括我们的使用程序要利用的一组.gif图象。上面就是利用JarResources会见jar文件中的图象文件的办法:
JarResourcesJR=newJarResources("GifBundle.jar");
Imagelogo=Toolkit.getDefaultToolkit().createImage(JR.getResources("logo.gif"));
这段代码申明我们能够创立一个JarResources对象,并将其初始化为包括我们要利用的资本的jar文件--images.jar。随后我们利用JarResources的getResource()办法未来自logo.gif文件的原始数据供应给awtToolkit的createImage()办法。
定名申明
JarResource是一个十分复杂的示例,它申明了怎样利用java所供应的各类功效来处置jar和zip档案文件。
事情体例
JarReources类的主要数据域用来跟踪和存储指定jar文件的内容:
publicfinalclassJarResources{
publicbooleandebugon=false;
privateHashtablehtsizes=newHashtable();
privateHashtablehtjarcontents=newHashtable();
privateStringjarfilename;
如许,该类的实例化设置jar文件的称号,然后转到init()办法完玉成部实践事情。
publicJarResources(Stringjarfilename){
this.jarfilename=jarfilename;
init();
}
如今,init()办法只将指定jar文件的全部内容加载到一个hashtable(经由过程资本名会见)中。
这是一个相称有效的办法,上面我们对它作进一步的剖析。ZipFile类为我们供应了对jar/zip档案头信息的基础会见办法。这相似于文件体系中的目次信息。上面我们列出ZipFile中的一切条目,并用档案中每一个资本的巨细添充htsizeshashtable:
privatevoidinit(){
try{
//extractsjustsizesonly.
ZipFilezf=newZipFile(jarFileName);
Enumeratione=zf.entries();
while(e.hasMoreElements()){
ZipEntryze=(ZipEntry)e.nextElement();
if(debugOn){
System.out.println(dumpZipEntry(ze));
}
htSizes.put(ze.getName(),newInteger((int)ze.getSize()));
}
zf.close();
<p>
进而能拉拢大多数程序员用windows产品。并且从ASP.NETAJAX可以跨平台这一点上,间接证明了我们的推断,至少证明了微软做过这方面的研究。所以如果哪一天突然听说了.net可以跨平台了,那么请不要吃惊,如果这一天真的到来,java就到了真正和.net决战的时刻。因为不到万不得以的时候微软是不会推出跨平台的.net的,如果跨平台的.net还不足以对抗java的话,那么微软还剩的手段就是开源了,呵呵。 |
|