我有个问题。
我有我的包裹的绝对路径,例如:
c:\java_project\src\com\myclass\mypackage
此程序包中提供3个类:MyClass1,MyClass2,MyClass3
我需要将所有类加载到列表
我将所有.java文件加载到列表中,但我不了解此类的加载方式
List<URL> fieldURLs=new ArrayList<URL>();
File pathToClasses = null;
pathToClasses = new File(packageName);
File[] files = pathToClasses.listFiles();
请帮我解决这个问题
最佳答案
如果我正确理解您的意见:
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