Java - 从RAM运行File-Object

时间:2017-07-30 09:12:52

标签: java file ram

我从互联网上下载文件(How to download and save a file from Internet using Java?),但我不想在运行之前创建文件。所以我的想法是:我将文件下载到文件new File("myJar.jar");中,而不是执行Runtime.getRuntime().exec("java -jar myJar.jar");< =(我需要创建文件...)我将解压缩jar并获取每个类的字节并将它们放入类加载器以运行该程序。这是一个好方法还是你会推荐什么? Java: How to load Class stored as byte[] into the JVM?< =如果我从jar中加载每个类,这会运行程序吗?

编辑: 这应该是为了让破解者很难获得文件。

编辑2: 如果它不是一个罐子而是一个.exe,怎么可能呢?当我将jar编译为本机代码,然后将其编译为.exe时,需要这样做,因此破解程序无法从jvm中获取代码。

1 个答案:

答案 0 :(得分:0)

尝试使用为您完成工作的URLClassLoader。您稍后可以使用findResource(...)方法查找META-INF/manifest.mf,阅读它,找出主要类find it并调用其main(...)方法,执行与您正在执行的操作完全相同的操作与java -jar ...