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

标签 java cross-platform home-directory

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

困难在于解决方案应该是跨平台的;它应该可以在 Windows 2000、XP、Vista、OS X、Linux 和其他 Unix 变体上运行。我正在寻找可以在所有平台上完成此操作的代码片段,以及检测平台的方法。

每个 Java 错误 4787931 ,系统属性 user.home 在 Windows XP 上无法正常工作,因此使用此系统属性不是一个可接受的解决方案,因为它不是跨平台的。

最佳答案

您引用的错误(错误 4787391)已在 Java 8 中修复。即使您使用的是旧版本的 Java,System.getProperty("user.home") 方法可能仍然是最好的。 user.home 方法似乎在很多情况下都有效。在 Windows 上实现 100% 无懈可击的解决方案很困难,因为 Windows 对于主目录的含义有不断变化的概念。

如果 user.home 对您来说不够好,我建议选择 Windows 的 home 目录 定义并使用它,通过 System.getenv(String) 获取适当的环境变量。

关于java - 在 Java 中查找用户主目录的最佳方法是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50476639/

相关文章:

java - 简化自定义类型上 Collections.sort 的实现

eclipse - 使用跨平台库在 Eclipse 中设置跨平台 C++ 项目

java - 使用 Java ProcessBuilder,如何运行位于 UNIX 主目录中的进程?

android - 原生 Android/iOS 开发与 Marmalade SDK

android - 跨平台应用 Unity3D

go - 获取用户的主目录

python - 如何修复工作目录始终为home? (Python)

java - 使用 JSF 从 JAR 文件中加载属性文件

java - 当我的数据包含0x0a和0x0d时,如何从android中的BLE读取完整长度的数据?

java - 获取泛型类型的泛型类型