Мне нужно прочитать содержимое файла .class java в моей программе java или есть ли какой-либо метод, доступный для чтения того же самого. На самом деле я хочу получить таблицу локальных переменных, таблицу номеров строк и т. д. из файла .class java, но я Я не получаю никакого метода, чтобы прочитать то же самое?
Как читать файл .class?
Ответы (3)
Вам понадобится декомпилятор Java или что-то вроде что
person
RoflcoptrException
schedule
01.04.2011
Нет, на самом деле мы должны написать чистый код Java. Нам не нужно использовать какой-либо инструмент
- person Neha; 02.04.2011
В основном мой проект заключается в создании тестовых случаев с использованием тестирования белого ящика. Обычно наши NetBeans или eclipse имеют свои собственные редакторы, где они могут компилировать свой код, а также генерировать тестовые примеры. Но что нам нужно сделать, это прочитать сохраненный файл .java на диске в любом месте и сгенерировать тестовые примеры. И для этого мы на самом деле ищем, как получить символы, их тип данных, их значение и т. д. И я думал прочитать файл .class, поскольку он содержит таблицу локальных переменных , таблица номеров строк и т. д. И поэтому мы не используем никаких инструментов
- person Neha; 02.04.2011
Вы можете получить эту информацию, используя BCEL.
Библиотека разработки байт-кода предназначена для того, чтобы предоставить пользователям удобную возможность анализировать, создавать и манипулировать (двоичными) файлами классов Java (оканчивающимися на .class). Классы представлены объектами, которые содержат всю символьную информацию данного класса: методы, поля и инструкции байт-кода, в частности.
Или вы также можете использовать Reflection API для получения информации из файла класса.
person
jmj
schedule
01.04.2011
ASM гораздо больше поддерживается, используйте его.
- person MeBigFatGuy; 02.04.2011
Отражение получает информацию не из файла класса, а из объекта класса (после того, как загрузчик класса выполнил свою работу)
- person Thorbjørn Ravn Andersen; 30.04.2013