在Linux上System.getenv("HOME")
返回絕對路徑/home/user
,但在Windows上返回Users\user
。爲什麼System.getenv(「HOMEPATH」)在Windows上返回不是絕對路徑?
0
A
回答
1
您需要使用System.getProperty("user.home")
如果你想要的東西的工作原理相同的多個操作系統。
System.getenv
是操作系統還是上下文相關的 - 不能保證System.getenv("HOME")
在給定的操作系統上返回任何東西,這只是運氣,你在Unix上得到的東西與你在Windows上得到的東西類似。
從的Javadoc System.getenv
:
環境變量是一個依賴於系統的外部命名值。
爲System.getProperty
,有屬性的列表,你可以在一個系統無關的方式獲得:
https://docs.oracle.com/javase/7/docs/api/java/lang/System.html#getProperties()
其中之一就是user.home
:「用戶的主目錄」
2
在Windows上,主驅動器在HOMEDRIVE
變量中單獨指定。與HOMEPATH
串聯它給你的絕對路徑:
String home = System.getenv("HOMEDRIVE")+System.getenv("HOMEPATH");
相關問題
- 1. 爲什麼TEMPLATEPATH返回到子目錄的絕對路徑?
- 2. 爲什麼System.getenv(「CATALINA_HOME」)返回null?
- 3. 爲什麼我的絕對路徑工作,但我的相對路徑不是?
- 4. 爲什麼os.getcwd()返回Windows上的System32路徑(sublime text 2 plugin)?
- 5. 爲什麼我可以在MacVim上使用相對路徑和絕對路徑?
- 6. 輸入絕對路徑,在PHP返回相對路徑
- 7. 什麼是絕對路徑名和相對路徑名
- 8. os.path.isfile(file_path)當file_path是相對路徑時返回false,爲什麼?
- 9. 將相對路徑轉換爲絕對路徑的最佳方法是什麼?
- 10. 爲什麼不鼓勵在Shiny includeScript()中使用絕對路徑?
- 11. System.getenv()返回VCAP_SERVICES:「******」
- 12. 什麼路徑不會返回值?
- 13. CMD Windows查找/搜索並返回絕對路徑
- 14. 將Windows絕對路徑轉換爲Java
- 15. 在路徑從Windows的絕對路徑不能用SSH到Linux
- 16. 將絕對路徑名轉換爲子路徑的最佳方法是什麼?
- 17. 回聲%路徑%是不是在Windows 8
- 18. 檢測路徑是絕對路徑還是相對路徑
- 19. 檢查路徑是絕對路徑還是相對路徑
- 20. 爲什麼Gradle將模塊路徑從相對變爲絕對?
- 21. 爲什麼corebuild不能使用絕對路徑?
- 22. PEAR爲什麼不使用絕對路徑?
- 23. 爲什麼不能從絕對路徑構建?
- 24. python isabs無法將Windows UNC路徑識別爲絕對路徑
- 25. Grunt sass任務返回ENOENT錯誤,除非路徑是絕對路徑
- 26. System.getenv(「TEST_HOME」)返回null
- 27. 爲什麼ServletContext#getRealPath(「/」)返回一個相對路徑?
- 28. 將路徑轉換爲絕對路徑
- 29. 爲什麼訪問路徑被拒絕?
- 30. 爲什麼訪問路徑被拒絕?
對於我會返回'\ Users \ myUser',這是主驅動器的絕對路徑 – BackSlash