获取ClassFile类的实例

时间:2014-09-01 08:18:09

标签: java classloader instantiation .class-file

我有一个包含jar文件的文件夹。我加载所有这些文件,然后我加载jar文件中的所有类文件。现在我想创建类文件的每个类的实例。

ClassFile[] classFiles = loadClassFiles();
Object[] objects = new Object[classFiles.length];
for(int i = 0; i < classFiles.length; i++){
 objects[i] = getNewInstanceOf(classfiles[i]);
}

这是我到目前为止。只错过方法getNewInstaceOf(Classfile file)。谁能告诉我怎么做?

如果有更简单的方法从jar文件加载所有类,您也可以告诉我。如果还有其他方法,我不必获取classFiles或加载jar文件。

你也应该知道,每个Class都有一个没有参数的构造函数 谢谢你的帮助:)

1 个答案:

答案 0 :(得分:0)

如果您知道所需课程的名称,可以使用

File file = getJarFileToLoadFrom();   
String lcStr = getNameOfClassToLoad();   
URL jarfile = new URL("jar", "","file:" + file.getAbsolutePath()+"!/");    
URLClassLoader cl = URLClassLoader.newInstance(new URL[] {jarfile });   
Class loadedClass = cl.loadClass(lcStr);