具有“读/写到.txt文件”的程序 - >导出到.jar - >常见的实施?

时间:2014-01-05 17:52:35

标签: java file-io jar

我有一个程序,我在其中读取/写入.txt文件。 我的计划是,我创建一个包含.txt文件的“res”文件夹。 “res”文件夹被添加到构建路径中,如果我将此项目导出到.jar文件,如果只有一个包含.txt文件的.jar文件。

但现在我知道,无法写入.jar文件。

我的实际计划是,我没有将“res”文件夹添加到构建路径,将projekt导出为.jar文件,将.jar文件放在“my programm”文件夹中并放入“ res“文件夹也进入”我的程序“文件夹。然后它应该工作,但我发现这个解决方案很脏......

这是常见的方法吗? 我最喜欢的是“只有一个包含所有内容的.jar文件”,但这不起作用....

替代方案: 我过去听说它存在一个java的“整合数据库”。如果我使用这样的整合数据库而不是我的.txt文件,在这种情况下我可以使用我最喜欢的解决方案“只有一个.jar文件包含所有”吗?

3 个答案:

答案 0 :(得分:1)

根据您在.txt文件中存储的数据类型,您可能希望考虑Preferences API,这是存储您需要在一次运行中保留的配置信息的标准方法程序到下一个。这是一个跨平台的API,以适当的方式为您运行的任何平台存储数据 - 在Windows的注册表中,在Mac上的.plist下的~/Library文件中,以及在用户在Linux上的主目录(但您不需要关心后端,API在所有情况下都是相同的。)

答案 1 :(得分:1)

您是否只需要保存应用程序的状态以在启动时加载它?只需将您的状态保存到用户主目录中的文件中,或者文件系统上的任何其他合适位置。您也可以使用嵌入式数据库,但最后它也将是磁盘上的文件。

答案 2 :(得分:0)

  

我过去听说它存在一个用于java的“整合数据库”。

集成数据库是JavaDB.它包含在JDK中。

  

如果我使用这样的整合数据库而不是我的.txt文件,在这种情况下我可以使用我最喜欢的解决方案“只有一个.jar文件包含所有内容”?

应用程序所需的任何额外可写文件 - 例如,在这种情况下,将数据存储在JavaDB数据库中 - 可以最初存储在jar中,然后复制到磁盘上的适当位置。您也可以创建一个单独的安装程序应用程序来执行此操作 - 这是Windows应用程序的标准方法。