如何创建使用文件将应用程序信息保存到的Jar

时间:2017-06-08 09:12:24

标签: java intellij-idea jar

我有一个Java项目,用于创建带有表的UI,该表是可编辑的,当您添加条目时,我将其保存到项目文件夹中src之外的数据文件夹中的json中。我正在使用Intellij,我知道创建一个JAR来使其成为人工制品,并选择数据文件夹作为资源。但是当创建JAR时,它无法找到文件data / items.json这是因为JARS无法编辑其中的文件?

1 个答案:

答案 0 :(得分:1)

Jar文件是只读的,这意味着你无法在jar中保存信息。您可以将文件保存在读取文件中,但不能编辑它们。

在您的情况下,或多或少有两个选项:

  1. *.json文件保存在例如OS Temp路径中或您可以读取和写入的其他位置。
  2. 像拉链一样处理 - https://stackoverflow.com/a/4056713/8087490 -
    1. 找到JAR文件并以ZIP存档阅读器的形式打开。
    2. 创建ZIP存档编写器以编写新版本的JAR文件。
    3. 将应用程序的文件写入编写器。
    4. 将ZIP阅读器中的所有资源写入编写器,不包括旧版本的应用程序文件。
    5. 关闭读者和作家。
    6. 重命名新版本的JAR以替换旧版本。