1

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

允许对程序目录的子目录进行写访问通常是不受欢迎的。如果我将其作为 Windows 应用程序进行,我可能会将它们放在应用程序数据中,但这不会跨平台飞行。放置它们的最佳位置是什么?

4

3 回答 3

1

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

于 2011-11-07T04:21:13.080 回答
1

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

于 2011-11-07T04:22:42.663 回答
0

提供可配置的位置,但默认为用户主目录中的目录,或特定于操作系统的位置。

无论如何,您都必须以特定于平台的方式处理此问题。不过,在 OS X 下您有一些选择。对于类 unix 系统,可以是主目录,也可以是/var.

也就是说,我不认为在自己的目录中管理自己的数据的程序是一件坏事。考虑一个带有嵌入式数据库或类似的程序。使用应用程序主目录更可靠。

于 2011-11-07T04:20:33.343 回答