在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. 將相對路徑轉換爲絕對路徑的最佳方法是什麼?
- 5. 爲什麼不鼓勵在Shiny includeScript()中使用絕對路徑?
- 6. CMD Windows查找/搜索並返回絕對路徑
- 7. 什麼路徑不會返回值?
- 8. 將Windows絕對路徑轉換爲Java
- 9. 將絕對路徑名轉換爲子路徑的最佳方法是什麼?
- 10. 回聲%路徑%是不是在Windows 8
- 11. 檢測路徑是絕對路徑還是相對路徑
- 12. 檢查路徑是絕對路徑還是相對路徑
- 13. PEAR爲什麼不使用絕對路徑?
- 14. 爲什麼corebuild不能使用絕對路徑?
- 15. 爲什麼不能從絕對路徑構建?
- 16. Grunt sass任務返回ENOENT錯誤,除非路徑是絕對路徑
- 17. 爲什麼ServletContext#getRealPath(「/」)返回一個相對路徑?
- 18. 爲什麼訪問路徑被拒絕?
- 19. 爲什麼訪問路徑被拒絕?
- 20. 爲什麼ruby在rails上返回null而不是json對象
- 21. 調用exec爲絕對路徑返回errno 14(壞地址)
- 22. 爲什麼我的csv文件路徑總是返回null?
- 23. file_exists在Windows上爲Linux路徑返回true
- 24. 什麼是Windows上文件的根路徑?在MacOS上?
- 25. 爲什麼Request.Url.Authority正在返回內部路徑而不是我的域
- 26. 絕對路徑
- 27. Ruby/Selenium/Watir Webdriver:絕對路徑的「路徑不是絕對的」錯誤
- 28. 什麼要返回非異步路徑?
- 29. 將webpack配置爲使用絕對路徑而不是相對路徑
- 30. 什麼是非Windows系統中絕對路徑的URL等價物?
對於我會返回'\ Users \ myUser',這是主驅動器的絕對路徑 – BackSlash