我有一个包含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都有一个没有参数的构造函数 谢谢你的帮助:)
答案 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);