为了账号安全,请及时绑定邮箱和手机立即绑定

在Java中找到用户主目录的最佳方法是什么?

在Java中找到用户主目录的最佳方法是什么?

红糖糍粑 2019-07-13 10:37:37
困难在于它应该是跨平台的。Windows 2000,XP,Vista,OSX,Linux,其他Unix变体。我正在寻找一段代码片段,它可以在所有平台上实现这一点,以及一种检测平台的方法。现在,你应该知道虫4787931那,那个user.home不正确的工作,所以请不要给我的教科书的答案,我可以自己找到这些手册。
查看完整描述

3 回答

?
月关宝盒

TA贡献1772条经验 获得超5个赞

您引用的bug(Bug 4787391)已在JAVA 8中修复。System.getProperty("user.home")方法可能仍然是最好的。这个user.home在很多情况下,方法似乎是有效的。Windows上的100%防弹解决方案很难实现,因为Windows对主目录的含义有一个不断变化的概念。


如果user.home对你来说还不够好,我建议你选择一个定义home directory对于windows并使用它,使用以下方法获取适当的环境变量System.getenv(String).


查看完整回答
反对 回复 2019-07-13
?
www说

TA贡献1775条经验 获得超8个赞

实际上,对于Java 8,正确的方法是使用:

System.getProperty("user.home");

臭虫JDK-6519127中的“JDK 8和JDK 7之间的不兼容”部分已经修复。发布说明各国:

区域:核心LIBS/java.lang

简介

用于确定Windows上用户主目录的步骤已更改为遵循Microsoft推荐的方法。此更改可在较早版本的Windows或注册表设置或环境变量设置为其他目录时观察到。不相容的性质

behavioral RFE6519127

尽管这个问题很老,但我还是把它留给以后参考。


查看完整回答
反对 回复 2019-07-13
  • 3 回答
  • 0 关注
  • 875 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信