KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > tests > jfun > yan > xml > nuts > JarTest


1 package tests.jfun.yan.xml.nuts;
2
3 import java.io.File JavaDoc;
4 import java.lang.reflect.Modifier JavaDoc;
5 import java.net.URL JavaDoc;
6 import java.net.URLClassLoader JavaDoc;
7 import java.util.Enumeration JavaDoc;
8 import java.util.zip.ZipEntry JavaDoc;
9 import java.util.zip.ZipFile JavaDoc;
10
11 import junit.framework.TestCase;
12
13 public class JarTest extends TestCase{
14   public void test1()
15   throws Exception JavaDoc{
16     final File JavaDoc jarfile = new File JavaDoc("lib/junit.jar");
17     final ZipFile JavaDoc zip = new ZipFile JavaDoc(jarfile);
18     final ClassLoader JavaDoc baseloader = getClass().getClassLoader();
19     final ClassLoader JavaDoc loader = new URLClassLoader JavaDoc(new URL JavaDoc[]{jarfile.toURL()}, baseloader);
20     for(Enumeration JavaDoc en = zip.entries();en.hasMoreElements();){
21       final ZipEntry JavaDoc entry =(ZipEntry JavaDoc)en.nextElement();
22       if(!entry.isDirectory()){
23         final String JavaDoc name = entry.getName();
24         if(name.endsWith(".class")){
25           final String JavaDoc clsname = name.substring(0, name.length()-6)
26           .replace('/','.');
27           try{
28           final Class JavaDoc cls = loader.loadClass(clsname);
29           if(Modifier.isPublic(cls.getModifiers()))
30             System.out.println(clsname);
31           }
32           catch(ClassNotFoundException JavaDoc e){}
33           catch(NoClassDefFoundError JavaDoc e){}
34         }
35       }
36     }
37   }
38 }
39
Popular Tags