当前位置: 首页 > 面试题库 >

在Linux上的何处存储应用程序数据(非用户专用)

景稳
2023-03-14
问题内容

在基于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来获取应用程序首选项数据。



 类似资料:
  • 问题内容: 在基于OSGi的Java应用程序中,我正在开发一个捆绑软件,以使系统的其余部分可以访问文件系统。除了提供对用户主目录的访问之外,我还希望提供对非用户特定区域的访问。尚不确定该区域的用途,但不是用于首选项(由其他捆绑软件处理),但是可以用于存储在运行时可能会更改的数据。 我打算为此使用以下目录: Windows Vista和Windows 7:“ \ ProgramData”。 Wind

  • 我们正在使用SpringSecurityACL基础设施与AppEngine数据存储相结合。我们不使用低级数据存储API,而是使用Objectify框架访问数据存储。我们需要将Spring SecurityACL模型(适用于RDBMS)转换为更适用于无模式面向对象数据存储的模型。到目前为止,我们已经完成了下面描述的两个实体。 国际计算语言学协会 id:Long 阿兰特里 sid:字符串 负责人:布尔

  • 开发企业级移动应用程序(Android/iOS/Web),使用谷歌PLAFORM-AppEngine、云endpoint、云存储、datastore等。 正在关注谷歌在中国被屏蔽的服务: null null 谢谢

  • 问题内容: 我有一个基于LWJGL的游戏引擎,要运行它,我需要将所需的本机库放置到用户的计算机上。在Windows上,我可以通过以下方法找到Application Data目录: 一切都变得轻松愉快。我创建一个File对象,必要时调用mkDir,如果文件尚未在计算机上,则将其写入。 (注意:创建的目录不应是临时文件,因为我想保存提取的文件以备将来运行。此外,创建此目录将为保存的游戏和其他此类数据提

  • 问题内容: 我希望在学习快速的过程中开发一个库存/物品库存应用程序。它基本上是具有项目名称,数量和位置的东西。 例如。 25号工作货车灯泡 开关,6,仓库 当用户输入此数据并按下按钮时,什么是存储此数据并在以后检索的最佳方法。我知道我可以将此附加到数组并显示该数组,但是如果应用程序关闭,该怎么办? 我应该在学习数据库存储吗?我可以将数据保存到手机吗? 问题答案: 如果要存储的数据很少且不敏感,则可