如何将资源从可执行jar文件保存到本地驱动器?
问题描述:
我不知道是否有办法提取打包在可执行jar文件中的资源文件并将其保存到本地驱动器,因此当用户下载我的jar文件并双击它时,它将首先从资源到他的C:驱动器,然后运行我的程序。如何将资源从可执行jar文件保存到本地驱动器?
答
只需使用ClassLoader.getResourceAsStream()即可得到该资源内容的InputStream
,并将其写入(比如说)临时目录。在你的main()
方法中,只需执行此操作,然后再执行程序的主要部分。
答
您需要将该逻辑写入您的程序。执行JAR
文件只是要运行主类。如果该类的main
方法所做的第一件事是将该文件复制到磁盘上的某个位置,则看起来这样可以满足您的要求。
以下是关于使用Java复制文件的Sun tutorial。
+0
是否仅在Java7/OpenJDK中引用了copyTo()方法?它会从* a .jar文件中包含的资源中复制吗? – 2010-02-28 18:40:45
如何将InputStream写入名为“abc.xyz”的文件? – Frank 2010-02-28 23:47:42