我有以下java程序,它从目录中返回某些类。我想找到这些类的包名。我可以这样做吗? 任何代码都会有所帮助。
import java.util.*;
import java.io.*;
public class CreateTestPackage
{
public void execute()
{
List<Class> findClasses(File directory) throws ClassNotFoundException
{
List<Class> classes = new ArrayList<Class>();
if (!directory.exists())
{
return classes;
}
File[] files = directory.listFiles(new FilenameFilter()
{
public boolean accept( File dir, String name )
{
return name.matches("test.*\\.class");
}
});
for (File file : files)
{
if (file.isDirectory())
{
assert !file.getName().contains(".");
classes.addAll(findClasses(file));
}
else if (file.getName().endsWith(".class"))
{
classes.add(Class.forName(file.getName().substring(0, file.getName().length() - 6)));
}
}
return classes;
}
}
}
答案 0 :(得分:2)
for(Class c : classes) {
c.getPackage().getName();
}