我們可以通過 System.getProperty("user.home")
讀取JAVA系統的user.home
屬性的值。
System.getProperty("user.home")
方法先去讀取注冊表中HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\Shell Folders
下的 Desktop
鍵值做為 user.dir
,再取它的上一級目錄做為user.home
打開注冊表編輯器,定位到上面的鍵值,你可以發現 Desktop
的值是%USERPROFILE%\桌面
這種形式
C:\Documents and Settings\Administrator\桌面
,
%USERPROFILE%
對應 C:\Documents and Settings\%用戶名%
。對于 Administrator
用戶,這里取得的 Desktop
自然是 C:\Documents and Settings\Administrator\桌面
. 那么 user.home
就應該是C:\Documents and Settings\Administrator
示例1:
public class PrintHome{
public static void main(String[] args) {
System.out.println(System.getProperty("user.home") );
}
}
有些電腦的注冊表中的Desktop可能變為 %USERPROFILE%\桌面
這種形式。這時我們得到的 user.home
可能會變成 C:\Documents and Settings\Administrator\桌面
,這時需要手動修改 Desktop
為 %USERPROFILE%\桌面
這種形式