Мне нужно программно подсчитать количество скомпилированных классов, интерфейсов и перечислений в заданном jar-файле (поэтому мне нужно три отдельных числа). Какой API мог бы мне помочь? (Я не могу использовать сторонние библиотеки.)
Я уже пробовал довольно хитрую схему, которая кажется не всегда корректной. А именно, я считываю каждый ZipEntry в байт[] и затем передаю результат в мой пользовательский загрузчик классов, который расширяет стандартный CalssLoader и просто отправляет этот байт[] в ClassLoader.defineClass (который является защитой и не может быть вызван из кода приложения напрямую). Полный код находится на Pastebin.