在途中加载课程

时间:2015-10-11 10:31:50

标签: java reflection classloader

我有问题。 我有一个绝对的路径,例如:

c:\java_project\src\com\myclass\mypackage

在这个包中有3个类:MyClass1,MyClass2,MyClass3

我需要将所有类加载到List

我将所有.java文件加载到List,但我不明白这个类如何加载

List<URL> fieldURLs=new ArrayList<URL>();
File pathToClasses = null;
pathToClasses = new File(packageName);
File[] files = pathToClasses.listFiles();

请帮我解决这个问题

1 个答案:

答案 0 :(得分:0)

如果我理解正确的话:

List<Class> classes = new LinkedList<>();

for (File file : new File(pathToClasses).listFiles()) {
    classes.add(Class.forName(file.getName().split("\\.")[0])); // if you don't have packages
}

classes.forEach(System.out::println);

在我的文件夹中,我得到以下结果:

class Class1
class Class2
class Class3