我有一个程序,允许用户选择任何.class
或.jar
文件并运行它。问题是,要运行它,我需要使用java.io.File
之外的其他内容,这是JFileChooser
返回的内容。如何将java.io.File
变为java.lang.Class
或java.util.jar.JarFile
?
答案 0 :(得分:2)
如果您要加载的类有File
个对象,则可以使用URLClassLoader
加载该类。 File
对象可以提供URL
。
答案 1 :(得分:0)
问题是您需要从类本身推断出类路径。这不是最简单的事情。
最好的办法是使用asm.objectweb.org等工具解析文件,找到该类的包,并从类的包和文件名的组合中推断出类路径根。即使这样,你也假设这个类只使用这个文件目录中的类。