2011-04-22 63 views
2

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

+1

在我看来,正确的位置是数据库。 – CoolBeans 2011-04-22 14:13:16

回答

2

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

在windows上存储数据%APPDATA%/appName,在linux上可能是~/.appNameUser/Library/Application/appName可以在Mac上使用。

+0

问题仍然是一样的,你在哪里存储hsqldb文件。 – nos 2011-04-22 14:17:30

+0

...不是?您可以将数据存储在选定操作系统*表示应用程序存储数据的位置。 – 2011-04-22 14:38:13

+0

在这种情况下,无论您是否使用(本地)数据库,它都是一样的。尽管大多数API(无论是自己创建的数据库还是文件)都需要路径作为输入,问题是如何从Java程序获取该路径。 – nos 2011-04-22 15:42:07

1

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

+0

这是一个可能的解决方案,但我认为不是最好的解决方案。在unix上它经常完成,但是如果你使用Windows,那么主目录中的.Appdata目录就是这样。 – Bram 2011-04-22 14:39:51

相关问题