出于某种原因,我一定是更改了一些配置什么的,因为在一个全新的项目中,我输入了这个:
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\
中桌面目录的注册表项并相应地更新它。如果桌面目录的注册键值是“C:\\
”,当您调用“System .getProperty("user.home");
”在你的代码中。例如,如果您可以将注册表中的桌面键输入修改为“C:\Users\YourName\Desktop
”,您将得到“C:\Users\YourName
”在您的代码中调用“System.getProperty("user.home");
”。
谢谢!
关于Java 认为我的主文件夹是 C 盘?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12693201/