получать имена пакетов из классов - PullRequest
2 голосов
/ 21 июня 2010

У меня есть следующая 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;
        }
    }




}

1 Ответ

2 голосов
/ 21 июня 2010
for(Class c : classes) {
   c.getPackage().getName();
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...