出于某种原因,我必须更改一些配置或其他东西,因为在一个全新的项目中,我输入了这个:
System.out.println(System.getProperty("user.home"));
并获得以下输出:
C:\
以前,它过去常常返回类似的东西 C:\Users\...
是否需要清除配置文件?
当您System.getProperty("user.home");在代码中调用" "时,JVM不会使用Windows环境变量来确定用户配置文件的位置,而是访问引用用户桌面目录的注册表项.然后它获取桌面的父目录并假定它是用户的配置文件目录.因此,请检查您的桌面目录的注册表项HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\Shell Folders\并相应地更新它.如果Desktop目录的registery密钥C:\\值为" C:\",则System.getProperty("user.home");在代码中调用" " 时JVM将返回值" " .例如,如果您可以将注册表中的桌面密钥输入修改为" C:\Users\YourName\Desktop",则在代码中C:\Users\YourName调用" "时将获得" " System.getProperty("user.home");.
谢谢!
| 归档时间: |
|
| 查看次数: |
1842 次 |
| 最近记录: |