Java - 在哪里放置应用程序数据?

时间:2011-11-07 04:12:20

标签: java installation cross-platform application-data

我正在编写一个需要大量资源文件的Java应用程序(大约有100个文件,每个文件20-40K)。它们不是由用户编辑的,但需要定期更新(应用程序将具有检查资源文件更改并下载它们的功能)。理想情况下,应用程序应该是跨平台的。

通常不赞成对程序目录的子目录进行写访问。如果我将它作为Windows应用程序执行,我可能会将它们放在应用程序数据中,但这不会跨平台飞行。什么是最好的地方?

3 个答案:

答案 0 :(得分:1)

我通常会在用户的主目录(System.getProperty("user.home")中创建一个以句点“。”开头的目录,如果我没有记错的话)并将其用于特定于应用程序的存储。或者,您可以在安装应用程序时从用户获取目录名称。

答案 1 :(得分:1)

拥有一个用于保存这些文件的目录。将该信息放在属性配置文件中。当您启动从应用程序安装目录加载配置文件时。从该属性文件中,它会告诉您在哪里可以找到您的文件目录。当您的安装程序运行时,它可以为您正在安装的平台写出此配置文件,并且可以是特定于操作系统的。

答案 2 :(得分:0)

提供可配置的位置,但默认为用户主目录中的目录或OS特定位置。

无论如何,您都必须以特定于平台的方式处理此问题。但是,在OS X下有几个选项。对于类似unix的系统,可以是主目录,也可以是/var下的内容。

那就是说,我不相信在自己的目录中管理自己数据的程序是件坏事;考虑具有嵌入式数据库或类似程序的程序。使用app主目录更加可靠。