目前,我在可执行文件 .exe
旁边存储了一些配置文件和一个 history.xml
文件。
但是,一些用户报告他们必须以管理员权限运行我的程序,否则设置和历史记录不会保存到这些文件中。
我应该在哪里保存我的配置文件和 history.xml
以便不要求我的用户以管理员权限运行应用程序?
如果有一个同时适用于 Windows 和 OSX 的解决方案就太好了
有什么想法吗?
最佳答案
您的用户可能将文件保存在 Program Files 下的文件夹或其他“ protected ”文件夹中。
要么他们应该将其保存在用户文件夹中,要么您应该使用系统上某个路径的完整路径,例如“C:/myapp/”。
您可以使用辅助函数来检查您使用的是 Windows 还是 *Nix,然后根据情况返回特定路径。我离我的计算机不近,所以无法测试,但这应该可行:
return System.getProperty("os.name").egualsIgnoreCase("Windows");
您还可以使用“user.home”作为用户主目录(始终可写)和“file.separator”,这样您甚至不需要检查您是否在 Windows 上。
关于Java 存储配置和其他文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19207634/