84669 Lernen von Personen
152542 Lernen von Personen
20005 Lernen von Personen
5487 Lernen von Personen
7821 Lernen von Personen
359900 Lernen von Personen
3350 Lernen von Personen
180660 Lernen von Personen
48569 Lernen von Personen
18603 Lernen von Personen
40936 Lernen von Personen
1549 Lernen von Personen
1183 Lernen von Personen
32909 Lernen von Personen
不同版本的java这个变量的定义不一样。在java7和之前的版本中,jvm环境变量 user.home 在 windows 系统中被定义为 desktop 文件夹的上级目录。而 desktop 的位置则是从注册表的HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\Shell Folders\Desktop 处读取,其值一般为 %userprofile%\desktop 。因此其上级目录,即 user.home 一般就被映射为 %userprofile% ,即 c:\documents and settings\yourusername 或 c:\users\yourusername 。这在win7里容易出现被解析成 %userprofile% 字符串而不会进一步解析成目录路径的bug:http://bugs.java.com/view_bug.do?bug_id=4787931 。因此java8中对该问题进行了修复,直接将 user.home 映射系统 %userprofile% 变量,一般是用户主目录,即 c:\users\yourusername 。综上所述,直接把这个变量当成是系统的环境变量 userprofile 就好啦:Environment.GetEnvironmentVariable("userprofile");或者Environment.GetFolderPath(Environment.SpecialFolder.UserProfile);
不同版本的java这个变量的定义不一样。
在java7和之前的版本中,jvm环境变量 user.home 在 windows 系统中被定义为 desktop 文件夹的上级目录。而 desktop 的位置则是从注册表的HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\Shell Folders\Desktop 处读取,其值一般为 %userprofile%\desktop 。因此其上级目录,即 user.home 一般就被映射为 %userprofile% ,即 c:\documents and settings\yourusername 或 c:\users\yourusername 。这在win7里容易出现被解析成 %userprofile% 字符串而不会进一步解析成目录路径的bug:http://bugs.java.com/view_bug.do?bug_id=4787931 。
因此java8中对该问题进行了修复,直接将 user.home 映射系统 %userprofile% 变量,一般是用户主目录,即 c:\users\yourusername 。
综上所述,直接把这个变量当成是系统的环境变量 userprofile 就好啦:
Environment.GetEnvironmentVariable("userprofile");
或者
Environment.GetFolderPath(Environment.SpecialFolder.UserProfile);