【问题标题】:What is the right location to store persistent objects?存储持久对象的正确位置是什么?
【发布时间】:2011-08-11 00:09:19
【问题描述】:

我正在开发一个中型 Java 桌面应用程序,但不使用数据库。 我正在使用 xml、可序列化对象等来存储用户/应用程序数据,但是将这些文件保存到(与系统无关)的正确位置是什么?

【问题讨论】:

  • 我认为正确的位置是数据库。

标签: java xml persistence store


【解决方案1】:

如果您真的不想将它们存储在数据库中,请查看Preferences API,它是平台中立的。

【讨论】:

    【解决方案2】:

    你为什么不使用数据库?使用文件系统数据库(如 hsqldb)和对象关系映射层。您甚至可能不需要编写任何类型的映射文件,或者任意使您的类可序列化。

    在 Windows 上将数据存储在 %APPDATA%/appName 中,在 Linux 上可能存储在 ~/.appName 中。 User/Library/Application/appName 可以在 Mac 上运行。

    【讨论】:

    • 问题还是一样,你在哪里存储 hsqldb 文件。
    • ...不是吗?您将数据存储在您选择的操作系统应用程序存储数据的位置。
    • 在这种情况下,无论您是否使用(本地)数据库都是一样的。尽管大多数 API,无论是数据库还是您自己创建的文件,都需要一个路径作为输入,问题是如何从 Java 程序中获取该路径。
    【解决方案3】:

    大多数(如果不是全部)操作系统都有主目录的概念,您最终会在其中拥有大量某种形式的隐藏配置目录。您可以在用户主目录下创建一个隐藏目录并将您的配置/数据文件存储在那里。

    【讨论】:

    • 这是一个可能的解决方案,但我认为不是最好的。在 unix 上经常这样做,但如果您使用的是 Windows,则主目录中有 .Appdata 目录。
    猜你喜欢
    • 1970-01-01
    • 2013-04-09
    • 1970-01-01
    • 2015-09-19
    • 2016-06-08
    • 2023-03-30
    • 1970-01-01
    • 2023-03-27
    • 1970-01-01
    相关资源
    最近更新 更多