Java 为什么System.getenv(“HOMEPATH”)在Windows上不返回绝对路径?
在Linux上Java 为什么System.getenv(“HOMEPATH”)在Windows上不返回绝对路径?,java,Java,在Linux上System.getenv(“HOME”)返回绝对路径/HOME/user,但在Windows上返回Users\user 在Windows上,主驱动器在HOMEDRIVE变量中单独指定。将其与HOMEPATH连接,可获得绝对路径: String home = System.getenv("HOMEDRIVE")+System.getenv("HOMEPATH"); 在Windows上,home drive在HOMEDRIVE变量中单独指定。将其与HOMEPATH连接,可获得绝对路
System.getenv(“HOME”)
返回绝对路径/HOME/user
,但在Windows上返回Users\user
在Windows上,主驱动器在HOMEDRIVE
变量中单独指定。将其与HOMEPATH
连接,可获得绝对路径:
String home = System.getenv("HOMEDRIVE")+System.getenv("HOMEPATH");
在Windows上,home drive在
HOMEDRIVE
变量中单独指定。将其与HOMEPATH
连接,可获得绝对路径:
String home = System.getenv("HOMEDRIVE")+System.getenv("HOMEPATH");
如果希望在多个操作系统上使用相同的功能,则需要使用
System.getProperty(“user.home”)
System.getenv
依赖于操作系统或上下文-无法保证System.getenv(“HOME”)
在给定的操作系统上返回任何特定的内容,幸运的是,在Unix上获得的内容与在Windows上获得的内容类似
从系统的Javadoc.getenv
:
环境变量是依赖于系统的外部命名值
对于System.getProperty
,有一个属性列表,您可以通过独立于系统的方式获取这些属性:
其中之一是
user.home
:“用户的主目录”如果您希望在多个操作系统上使用相同的内容,则需要使用System.getProperty(“user.home”)
System.getenv
依赖于操作系统或上下文-无法保证System.getenv(“HOME”)
在给定的操作系统上返回任何特定的内容,幸运的是,在Unix上获得的内容与在Windows上获得的内容类似
从系统的Javadoc.getenv
:
环境变量是依赖于系统的外部命名值
对于System.getProperty
,有一个属性列表,您可以通过独立于系统的方式获取这些属性:
其中一个是
user.home
:“用户的主目录”对于我,它返回\Users\myUser
,这是主驱动器的绝对路径对于我,它返回\Users\myUser
,这是主驱动器的绝对路径