在Linux System.getenv("HOME")
上返回绝对路径/home/user
,但在Windows上返回Users\user
。
答案 0 :(得分:3)
在Windows上,主驱动器在HOMEDRIVE
变量中单独指定。将其与HOMEPATH
连接将为您提供绝对路径:
String home = System.getenv("HOMEDRIVE")+System.getenv("HOMEPATH");
答案 1 :(得分:1)
如果您想在多个操作系统上运行相同的功能,则需要使用./app-logo.png
。
System.getProperty("user.home")
依赖于操作系统或上下文 - 无法保证System.getenv
特定于给定的操作系统返回任何内容,只需运气即可获得Unix上的内容与您在Windows上获得的内容类似。
来自System.getenv("HOME")
的Javadoc:
环境变量是系统相关的外部命名值。
对于System.getenv
,您可以通过与系统无关的方式获得一系列属性:
https://docs.oracle.com/javase/7/docs/api/java/lang/System.html#getProperties()
其中一个是System.getProperty
:"用户的主目录"