84669 人學習
152542 人學習
20005 人學習
5487 人學習
7821 人學習
359900 人學習
3350 人學習
180660 人學習
48569 人學習
18603 人學習
40936 人學習
1549 人學習
1183 人學習
32909 人學習
不同版本的java這個變數的定義不一樣。 在java7和先前的版本中,jvm環境變數 user.home 在 windows 系統中被定義為 desktop 資料夾的上級目錄。而 desktop 的位置則是從登錄機碼的HKEY_CURRENT_USERSoftwareMicrosoftWindowsCurrentVersionExplorerShell FoldersDesktop 處讀取,其值一般為 %userprofile%desktop 。因此其上級目錄,即 user.home 一般就被映射為 %userprofile% ,即 c:documents and settingsyourusername 或 c:usersyourusername 。這在win7裡容易出現被解析成 %userprofile% 字串而不會再解析成目錄路徑的bug:http://bugs.java.com/view_bug.do?bug_id=4787931 。 因此java8中對該問題進行了修復,直接將 user.home 映射系統 %userprofile% 變量,一般是用戶主目錄,即 c:usersyourusername 。 綜上所述,直接把這個變數當成是系統的環境變數 userprofile 好啦:Environment.GetEnvironmentVariable("userprofile");或Environment.GetFolderPath(Environment.SpecialFolder.
不同版本的java這個變數的定義不一樣。
在java7和先前的版本中,jvm環境變數 user.home 在 windows 系統中被定義為 desktop 資料夾的上級目錄。而 desktop 的位置則是從登錄機碼的HKEY_CURRENT_USERSoftwareMicrosoftWindowsCurrentVersionExplorerShell FoldersDesktop 處讀取,其值一般為 %userprofile%desktop 。因此其上級目錄,即 user.home 一般就被映射為 %userprofile% ,即 c:documents and settingsyourusername 或 c:usersyourusername 。這在win7裡容易出現被解析成 %userprofile% 字串而不會再解析成目錄路徑的bug:http://bugs.java.com/view_bug.do?bug_id=4787931 。
因此java8中對該問題進行了修復,直接將 user.home 映射系統 %userprofile% 變量,一般是用戶主目錄,即 c:usersyourusername 。
綜上所述,直接把這個變數當成是系統的環境變數 userprofile 好啦:
Environment.GetEnvironmentVariable("userprofile");
或
Environment.GetFolderPath(Environment.SpecialFolder.