从目录中检索.class文件列表

时间:2012-08-17 13:51:08

标签: java class methods

我可以使用以下代码从目录中检索文件列表

public List listClassFilesForFolder(final File folder) {
    for (final File fileEntry : folder.listFiles()) {
        if (fileEntry.isDirectory()) {
            listClassFilesForFolder(fileEntry);
        } else {
            if (fileEntry.toString().toUpperCase().endsWith(".CLASS")) {
                filesInDirectory.add(fileEntry);
                System.out.println(fileEntry.getName());
            }
        }
    }
    return filesInDirectory;
}

但我想检索一个java.lang.Classes列表(例如Example.class),因此上面的方法不起作用,因为它返回一个java.io.Files列表。

有没有人知道一个可以返回java.lang.Classes列表的递归方法,因为我需要传入一个java.lang.Class而不是java.io.Files列表?

1 个答案:

答案 0 :(得分:2)

好。您需要加载类以获取Class对象。要做到这一点,您必须确保这些文件在您的类路径中,然后是Class.forName,或者您必须创建自己的类加载器并加载文件数据并使用类加载器定义新类。