Обычно вы можете просто загрузить класс как ресурс из Classloader.
Class c = ...
String className = c.getName();
String classAsPath = className.replace('.', '/') + ".class";
InputStream stream = c.getClassLoader().getResourceAsStream(classAsPath);
Возможно, я бы порекомендовал использовать что-то из Apache commons-io для чтения InputStream в byte[]
, но IOUtils.toByteArray()
должно сработать. Написание этого кода действительно легко ошибиться и / или сделать медленным.