Java - 将应用程序数据放在哪里?
Posted
技术标签:
【中文标题】Java - 将应用程序数据放在哪里?【英文标题】:Java - where to put application data? 【发布时间】:2011-11-07 04:12:20 【问题描述】:我正在编写一个需要大量资源文件的 Java 应用程序(大约有 100 个文件,每个文件大小为 20-40K)。它们不是由用户编辑的,但需要定期更新(应用程序将具有检查资源文件更改并下载它们的功能)。理想情况下,应用程序应该是跨平台的。
允许对程序目录的子目录进行写访问通常是不受欢迎的。如果我将其作为 Windows 应用程序进行,我可能会将它们放在应用程序数据中,但这不会跨平台飞行。放置它们的最佳位置是什么?
【问题讨论】:
【参考方案1】:我通常会在用户的主目录(System.getProperty("user.home")
,如果我没记错的话)中创建一个目录(名称以句点“.”开头)并将其用于特定于应用程序的存储。或者,您可以在应用程序安装时从用户那里获取目录名称。
【讨论】:
【参考方案2】:有一个用于保存这些文件的目录。将这些信息放入属性配置文件中。当您启动时,从您的应用程序安装目录加载配置文件。从该属性文件中,它会告诉您在哪里可以找到您的文件目录。当您的安装程序运行时,它可以为您正在安装的平台写出此配置文件,并且可以是特定于操作系统的。
【讨论】:
【参考方案3】:提供可配置的位置,但默认为用户主目录中的目录,或特定于操作系统的位置。
无论如何,您都必须以特定于平台的方式处理此问题。不过,在 OS X 下您有一些选择。对于类 unix 系统,可以是主目录,也可以是 /var
下的某个目录。
也就是说,我不认为在自己的目录中管理自己的数据的程序是一件坏事。考虑一个带有嵌入式数据库或类似的程序。使用应用主目录更可靠。
【讨论】:
以上是关于Java - 将应用程序数据放在哪里?的主要内容,如果未能解决你的问题,请参考以下文章
我应该如何构建一个 Java 应用程序,我应该把我的类放在哪里?