在Linux上的哪里存储应用程序数据(非用户专用)
在基于OSGi的Java应用程序中,我正在开发一个捆绑软件,以使系统的其余部分可以访问文件系统。除了提供对用户主目录的访问之外,我还希望提供对非用户特定区域的访问。尚不确定该区域的用途,但不是用于首选项(由其他捆绑软件处理),但是可以用于存储在运行时可能会更改的数据。
我打算为此使用以下目录:
- Windows Vista和Windows 7:“ \ ProgramData”。
- Windows XP:“ \ Documents and Settings \ All Users”。
- Mac OS X:“ /库/应用程序支持”。
在Linux中,什么才是明智的选择?如何从Java代码中获得对它的处理?
回答:
这取决于您计划存储哪种数据。该答案是在运行时存储和修改数据的前提下进行的。
与其他人的建议相反,我建议不要/usr/share
用于存储。从文件系统层次结构标准:
/ usr / share层次结构适用于所有只读体系结构独立的数据文件。
在修改数据时,这与/usr
子系统的只读特性背道而驰。
一个似乎更好的存储应用程序状态数据的位置将是/var
或更具体地说/var/lib
。这也来自层次结构标准。您可以创建一个/var/lib/myapp
,或者如果您还使用锁定文件或日志之类的东西,则可以利用/var/lock
或/var/log
。
从整体上更深入地了解标准(链接到上面)-您可能会找到适合您想要做的更好的地方。
像Steve K一样,我也建议您使用Preferences API来获取应用程序首选项数据。
以上是 在Linux上的哪里存储应用程序数据(非用户专用) 的全部内容, 来源链接: utcz.com/qa/426242.html