出于某种原因,我必须更改一些配置或其他内容,因为在一个全新的项目中,我正在进入:
System.out.println(System.getProperty("user.home"));
并获得以下输出:
C:\
之前,它曾用于返回类似C:\Users\...
我需要清除配置文件吗?
答案 0 :(得分:5)
当您在代码中调用“System.getProperty("user.home");
”时,JVM不会使用Windows环境变量来确定用户配置文件的位置,而是访问引用用户桌面目录的注册表项。然后它获取桌面的父目录并假定它是用户的配置文件目录。因此,请在HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\Shell Folders\
&中检查您的桌面目录的注册表项。相应地更新它。如果Desktop目录的registery密钥值为“C:\\
”,则当您在代码中调用“C:\
”时,JVM将返回值“System.getProperty("user.home");
”。例如,如果您可以将注册表中的桌面密钥输入修改为“C:\Users\YourName\Desktop
”,则会在代码中调用“C:\Users\YourName
”时获得“System.getProperty("user.home");
”。
谢谢!