困难在于它应该是跨平台的。Windows 2000,XP,Vista,OSX,Linux和其他Unix变体。我正在寻找可以针对所有平台完成此操作的代码片段,以及一种检测平台的方法。
现在,你应该知道的错误4787931是user.home不能正常工作,所以请不要为我提供教科书的答案,我可以在手册中找到这些我自己。
user.home
你引用的错误(错误4787391)已在Java 8中修复。即使你使用的Java是旧版本,该System.getProperty("user.home")方法仍可能是最好的方法。该user.home方法似乎在很多情况下都有效。Windows上的100%防弹解决方案很难,因为Windows对主目录的含义有了转变。
System.getProperty("user.home")
如果user.home对你来说还不够好,我建议你home directory为Windows 选择一个定义并使用它,并使用获取适当的环境变量System.getenv(String)。
directory
Windows
System.getenv(String)