我有一个 Java 项目,它创建一个带有表格的 UI,该表格是可编辑的,当您添加条目时,我将其保存到项目文件夹中 src 之外的数据文件夹中的 json 中。我正在使用 Intellij,并且我知道创建一个 JAR 来将其放入 artefacts 中,并且选择数据文件夹作为资源。但是当创建 JAR 时,它找不到文件 data/items.json 这是因为 JARS 无法编辑其中的文件吗?
最佳答案
Jar 文件是只读的,这意味着您无法在 jar 内保存信息。您可以将文件保存在其中并读取它们,但无法编辑它们。
根据您的情况,或多或少有两种选择:
- 将
*.json
文件保存在操作系统临时路径或其他可以读写的位置。 - 像 zipper 一样处理 - https://stackoverflow.com/a/4056713/8087490 -
- 找到 JAR 文件并以 ZIP 存档阅读器的形式打开。
- 创建 ZIP 存档编写器来编写新版本的 JAR 文件。
- 将应用程序的文件写入写入器。
- 将 ZIP 读取器中的所有资源写入写入器,不包括旧版本的应用程序文件。
- 关闭读取器和写入器。
- 重命名新版本的 JAR 以替换旧版本。
关于java - 如何创建一个使用文件来保存应用程序信息的 Jar,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44431428/