我想使用user.dir
dir作爲我的單元測試(創建大量文件)的基本目錄。該屬性指向當前工作目錄(例如,由'cd'命令設置)是否正確?Java「user.dir」屬性 - 它究竟意味着什麼?
回答
這是從您啓動JVM的位置運行java
的目錄。不必位於用戶的主目錄中。它可以在用戶有權運行java的任何地方。
所以,如果你cd
到/somedir
,然後運行程序,user.dir
將/somedir
。
不同的屬性,user.home
,指的是用戶目錄。如/Users/myuser
或/home/myuser
或C:\Users\myuser
。
請參閱here瞭解系統屬性及其說明的列表。
更正。怎麼樣user.dir? – 2013-04-26 14:41:36
在發佈前已閱讀。但「用戶工作目錄」不是最好的解釋,希望你同意。 – 2013-04-26 14:53:35
user.dir
是根據Java Tutorial, System Properties
「用戶工作目錄」通常這是你的應用程序(JAVA)開始(工作目錄)的目錄。 「通常情況」,因爲它可以在運行帶有Runtime.exec(String[] cmdarray, String[] envp, File dir)
只有在maven系統執行junit測試期間才需要一個值。 – 2013-04-26 14:54:34
當你在MAC上改變它時,它會破壞像這樣的測試https://stackoverflow.com/questions/45130661/user-dir-property-broken-on-osx-jdk-1-8-0-111- how-about-other-os-versions :(:( – 2017-07-16 16:10:07
System.getProperty("user.dir")
一個應用程序來改變,例如獲取工作區的目錄或路徑當前項目
- 1. flex標籤究竟意味着什麼?
- 2. max_connections究竟意味着什麼?
- 3. 響應者究竟意味着什麼?
- 4. AspNetCompatibilityRequirements究竟意味着什麼?
- 5. 異步NSUrlConnection究竟意味着什麼?
- 6. Composable究竟意味着什麼?
- 7. @Secured({「ROLE_USER」,「ROLE_ADMIN」})究竟意味着什麼
- 8. 「就地」究竟意味着什麼?
- 9. xmlns =「」究竟意味着什麼
- 10. curlopt_binarytranfer究竟意味着什麼?
- 11. 運行時多態性究竟意味着什麼?
- 12. 「性能」軟件究竟意味着什麼?
- 13. DBMS中的耐久性究竟意味着什麼?
- 14. 什麼不透明的內容究竟意味着什麼?
- 15. 什麼是printf定義中的__format究竟意味着什麼?
- 16. 這些liferay config params究竟意味着什麼?
- 17. 泛型<?>究竟意味着什麼?
- 18. 「構造函數沒有被繼承」究竟意味着什麼?
- 19. 那麼「return 0」究竟意味着什麼呢?
- 20. 究竟是「拋出」意味着OOP
- 21. 「wait_fences」錯誤消息究竟意味着什麼
- 22. 網址構建。這個網址究竟意味着什麼?
- 23. google.setOnLoadCallback(初始化)函數究竟意味着什麼?
- 24. Web服務器的故障究竟意味着什麼?
- 25. iOS中啓用「數據保護」究竟意味着什麼?
- 26. 網絡安全字體 - 究竟意味着什麼?
- 27. Heredoc:常用的「EOT」究竟意味着什麼?
- 28. 「* =」在C編程中究竟意味着什麼?
- 29. 模板引擎在計算中究竟意味着什麼?
- 30. 「oauth2client.transport:401刷新」這個日誌究竟意味着什麼?
正如http://stackoverflow.com/a/陳述840229/3159183,請記住,'-Duser.dir'標誌會影響'File'對象(如果它們沒有被賦予完整路徑),而不是'FileOutPutStream'對象。如果你想確保兩個默認目錄匹配,你應該在啓動Java之前執行cd命令。 – SeldomNeedy 2016-10-12 19:52:05