1

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

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 的列表?

4

1 回答 1

2

出色地。您需要加载类以获取 Class 对象。为此,您必须确保这些文件在您的类路径中,然后是 Class.forName,或者您必须制作自己的类加载器并加载文件数据并使用类加载器定义一个新类。

于 2012-08-17T13:54:23.503 回答