我的java程序有一个jar文件和一个dat文件。这是一个简单的打字游戏,当玩家玩游戏时,游戏会保存该数据文件中的最高分并显示得分。
但我想将它们都转换为单个exe文件。我怎样才能做到这一点?
dat文件不在我的jar文件中,因为我的程序需要同时编写和读取dat文件以进行更新并显示最高分数,这可能无法将dat文件保存在jar文件中。 (我在这个网站上搜索了这类问题,但我发现它只能读取jar文件中的dat文件;但不能写它。)
答案 0 :(得分:2)
通常,应用程序在运行时不会操纵自己的可执行文件。这与可执行格式(JAR或EXE)无关。也许有些恶意代码正在做这样的事情,但是你不希望你的(或你的客户的)反病毒程序认为你的应用程序是恶意软件,不是吗?
因此,常见的模式是分离程序代码,主数据(只读)和用户数据(读写)。您可以将程序代码和部分或所有主数据(例如程序图标,默认值等)放在一起以形成可执行文件。但是用户数据应该在单独的文件(或数据库或系统注册表等)中。
我不知道您为什么要将用户数据存储在可执行文件中,但如果您希望将应用程序仅部署为单个文件,则可以使用类似{{3}的内容为您的应用程序创建设置。或者,您将数据文件的只读部分放在可执行文件中,这样您就不需要在可执行文件中附加其他数据文件。然后可以在第一次运行期间创建具有用户特定数据的数据文件。