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