我有一个连接到derby数据库的java桌面应用程序 德比数据库有一些虚拟数据用于试验目的。 应用程序与数据库一起打包(作为嵌入式derby数据库)。 当应用程序安装在我的Windows 7操作系统的桌面上时,我能够 按预期访问虚拟数据。但是,当应用程序安装在程序文件文件夹中时,我无法访问数据库以及数据库中的数据。
对此有任何解释吗?
答案 0 :(得分:2)
“Program Files”文件夹对标准用户不可写(并且有充分理由)。不要在那里存储任何用户数据。
您需要将数据库文件放入不同的文件夹中。这就是例如%APPDATA%
旨在用于Windows。
您可以使用System.getenv()
方法获取%APPDATA%
环境变量的值。
在Java中,您还可以使用user.home
System.getProperty("user.home")
目录的子目录中