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

困难在于它应该是跨平台的。Windows 2000,XP,Vista,OSX,Linux,其他Unix变体。我正在寻找一段代码片段,它可以在所有平台上实现这一点,以及一种检测平台的方法。

现在,你应该知道虫4787931那,那个user.home不正确的工作,所以请不要给我的教科书的答案,我可以自己找到这些手册。


红糖糍粑
浏览 881回答 3
3回答

月关宝盒

您引用的bug(Bug 4787391)已在JAVA 8中修复。System.getProperty("user.home")方法可能仍然是最好的。这个user.home在很多情况下,方法似乎是有效的。Windows上的100%防弹解决方案很难实现,因为Windows对主目录的含义有一个不断变化的概念。如果user.home对你来说还不够好,我建议你选择一个定义home directory对于windows并使用它,使用以下方法获取适当的环境变量System.getenv(String).

www说

实际上,对于Java 8,正确的方法是使用:System.getProperty("user.home");臭虫JDK-6519127中的“JDK 8和JDK 7之间的不兼容”部分已经修复。发布说明各国:区域:核心LIBS/java.lang简介用于确定Windows上用户主目录的步骤已更改为遵循Microsoft推荐的方法。此更改可在较早版本的Windows或注册表设置或环境变量设置为其他目录时观察到。不相容的性质behavioral RFE6519127尽管这个问题很老,但我还是把它留给以后参考。
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Java