我目前正在制作一个程序,为我老师的教室制作坐姿图表。我已将所有数据文件放在jar中。这些被读入并放入表中。运行程序的main函数后,它会更新文件以匹配表值。我知道我需要爆炸罐子,然后在执行期间重新调整它以编辑文件,但我找不到任何关于如何在执行期间重新开启的探索。有没有人有任何想法?
答案 0 :(得分:4)
将数据文件放在二进制文件之外,并与JAR一起发送到单独的文件夹中。
好像你正在从错误的方向接近问题。 JAR文件类似于Windows平台上的可执行文件(.exe
) - 包含代码的只读二进制文件。
你可以(虽然这是一个不好的做法)在JAR中放置一些资源,如数据文件,多媒体等(就像你可以在.exe
内)。但更好的解决方案是将这些资源放在二进制文件之外,这样就可以在不重新编译/重建的情况下切换它们。
如果您需要在应用程序运行时动态修改资源,您基本上别无选择。数据文件必须在二进制文件之外。再一次,在运行时,您永远不会看到Windows .exe
文件自行修改。
答案 1 :(得分:2)
Tomasz说得对,以下是不好的做法,但这是可能的。
类路径的内容在引导期间被读入内存,但文件是可修改的,但在初始化后它们的更改不会反映出来。我建议将数据放入另一个文件中,与您的类文件分开,但如果您坚持将它们保持在一起,您可以查看:
确保您没有通过类路径读取资源,并且它来自磁盘/网络上的文件。