【发布时间】:2014-01-21 09:12:48
【问题描述】:
我目前正在用 java 为 windows 编写一个替换 shell,我的应用程序当前正在使用
创建一个配置文件File userSettings = new File("Gyroscope.properties");
但是,当由 windows 运行时,当前目录设置为C:\windows\System32\,并且程序没有对该目录的写入权限。
要写入配置文件的更好位置是什么?最好将它相对于 jar 文件,但是我不知道这样做的好方法,并且其他堆栈溢出问题对这个确切的问题有不干净的解决方案,所以我正在寻找其他位置作为选项。
配置是特定于机器的,应该对所有用户通用。
【问题讨论】:
-
用户的主目录呢?
-
如果您希望它相对于 jar,您是否尝试从代码中获取当前工作目录,然后创建相对于该路径的文件?
-
是的,这就是我首先遇到的问题,当前目录一旦作为 shell 运行就会更改为系统根目录。
-
@tobias_k 用户主目录的问题是我的用例是机器相关的,而不是用户相关的,所以为每个用户定制它是有害的,而不是有用的。
标签: java windows windows-shell