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.io.Filesではなくjava.lang.Classのリストを渡す必要があるため、java.lang.Classesのリストを返すことができる再帰メソッドを知っている人はいますか?

4

1 に答える 1

2

上手。Classオブジェクトを取得するには、クラスをロードする必要があります。これを行うには、これらのファイルがクラスパスにあり、次にClass.forNameにあることを確認するか、独自のクラスローダーを作成してファイルデータをロードし、クラスローダーで新しいクラスを定義する必要があります。

于 2012-08-17T13:54:23.503 に答える