Я пытаюсь получить класс из пути в файловой системе и получить из него байты. Я пробовал то, что ниже, но не имел успеха. Это должно просто распечатать имя на данный момент. Если у кого-нибудь есть идеи о том, как делать то, что я делаю, пожалуйста, дайте мне знать. Это может быть даже проще, чем это ...Чтение байтов из класса
public class Driver {
public static void main(String[] args) throws Exception {
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
System.out.print("Enter the path of the class: ");
String from = br.readLine();
System.out.print("Enter the path to save the .txt file (with bytes): ");
String to = br.readLine();
Class clazz = getClassFromPath(from);
System.out.println("Loaded <" + clazz.getName() + "> successfully!");
}
public static Class<?> getClassFromPath(String path) {
try {
File file = new File(path);
URL[] urls = {new URL(path)};
URLClassLoader cl = URLClassLoader.newInstance(urls);
if (!file.isDirectory() && file.getName().endsWith(".class")) {
String className = file.getName().substring(0, file.getName().length() - 6);
className = className.replace('/', '.');
Class c = cl.loadClass(className);
return c;
}
for (File f : file.listFiles()) {
if (f.isDirectory() || !f.getName().endsWith(".class")) {
continue;
}
String className = f.getName().substring(0, f.getName().length() - 6);
className = className.replace('/', '.');
Class c = cl.loadClass(className);
return c;
}
} catch (MalformedURLException e) {
e.printStackTrace();
} catch (ClassNotFoundException e) {
e.printStackTrace();
}
return null;
}
}
Спасибо за исправление этого вопроса ... У меня, кажется, проблемы с отправкой кода ... – JNorr44