Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
Форум программистов > Java: Общие вопросы > Reflection без Java |
Автор: Larrr 5.8.2006, 11:07 |
Проблема следующая - имеется папка, скажем C:/Classes, В ней находятся классы в с расширением java(можно class если очень надо). Моя задача написать GUI-утилитку, которая бы читала поля классов в выбранной папке, отображала их тип и название. Как это делается - возможно ли прочитать такую информацию о классе извне? |
Автор: powerOn 5.8.2006, 12:49 |
Если файлы .class, то тогда нужно написать свой classloader (у нас в FAQ описанно как), с помощью которого классы загружать из файлов, а потом рефлексией из них информацию доставать. |
Автор: allex 5.8.2006, 13:17 |
Есть ли причины не пользоваться Java reflection при этом? |
Автор: LSD 5.8.2006, 14:27 |
Если там исходники (java), то надо писать свой парсер, или поискать http://www.antlr.org/. Если нет необходимости проверять на синтаксическую корректность, то можно обойтись регекспами. Если там классы (class), то надо анализировать структуру, http://java.sun.com/docs/books/vmspec/2nd-edition/html/ClassFile.doc.html. |
Автор: Larrr 5.8.2006, 14:59 | ||||
Есть: 1) заранее неизвестно какая будет папка - ее загружает пользователь уже в процессе работы программы 2) классы, поля который загружаются не являются частью проекты Добавлено @ 15:00
Как анализировать? Вручную? ![]() Можно организовать и скомпиленные исходники - то бишь class files. |
Автор: Larrr 5.8.2006, 17:15 | ||
А вот это может быть как раз то что мне нужно! Спасибо, я посмотрю про этот Loader. |