java 如何在WinRun4j可执行文件中嵌入.ini?

n3ipq98p  于 2023-02-18  发布在  Java
关注(0)|答案(1)|浏览(111)

WinRun4j page上的文档提到支持将.ini文件嵌入到可执行文件中:
支持嵌入INI文件(在可执行文件中)。参见下面的嵌入式资源部分。
问题是,我不知道该怎么做。* 嵌入式资源部分 * 中提到的RCEDIT可执行文件似乎没有这样做的选项。/N选项说它设置.ini文件,但当我运行:

RCEDIT /N myExecutable.exe myExecutable.ini

/P选项表示它打印嵌入的.ini文件,但是当我在运行带有/N标志的RCEDIT可执行文件之后运行它时,我得到了一个错误
未找到.ini文件
我肯定我漏掉了什么。谁能告诉我哪里做错了?

ghg1uchk

ghg1uchk1#

问题是嵌入式资源部分并不是指使用RCEDIT嵌入.ini文件,而是指WinRun4j本身的一个特性,该特性允许您在编译时将资源(如图像、声音或配置文件)嵌入到可执行文件中。
要在WinRun4j可执行文件中嵌入.ini文件,需要使用winrun4jc编译器,并使用-r选项指定.ini文件的路径。下面是嵌入myapp.ini的示例命令:

winrun4jc -r myapp.ini myapp.ini.cfg

这将生成一个名为myapp.ini.exe的可执行文件,其中包含作为嵌入资源的myapp.ini文件。
要从Java应用程序访问嵌入式资源,可以使用getClass().getResourceAsStream()方法,如下所示:

InputStream in = getClass().getResourceAsStream("/myapp.ini");
Properties props = new Properties();
props.load(in);

这段代码将把嵌入的myapp.ini文件加载到Properties对象中(注意,资源的路径前面有一个正斜杠,表示它是类路径中的绝对路径)。

相关问题