जावा "user.dir" संपत्ति - वास्तव में इसका क्या मतलब है?


100

मैं user.dirअपने यूनिट परीक्षणों के लिए बेस डायर के रूप में उपयोग करना चाहता हूं (जो बहुत सारी फाइलें बनाता है)। क्या यह सही है कि यह संपत्ति वर्तमान कार्य निर्देशिका (जैसे 'सीडी' कमांड द्वारा निर्धारित) की ओर इशारा करती है?


2
जैसा कि stackoverflow.com/a/840229/3159183 में कहा गया है , ध्यान रखें कि -Duser.dirध्वज Fileवस्तुओं को प्रभावित करता है (यदि उन्हें पूर्ण पथ नहीं दिया गया है) लेकिन FileOutPutStreamवस्तुएं नहीं । यदि आप दोनों के लिए डिफ़ॉल्ट निर्देशिका मिलान सुनिश्चित करना चाहते हैं, तो cdआपको जावा शुरू करने से पहले चाहिए ।
19dom में

जवाबों:


142

यह वह निर्देशिका है जहां javaसे चलाया गया था, जहां आपने JVM शुरू किया था। उपयोगकर्ता के घर निर्देशिका के भीतर होना जरूरी नहीं है। यह कहीं भी हो सकता है जहां उपयोगकर्ता को जावा चलाने की अनुमति है।

इसलिए यदि आप cdमें हैं /somedir, तो अपना कार्यक्रम चलाएं, user.dirहोगा /somedir

एक अलग संपत्ति, user.homeउपयोगकर्ता निर्देशिका को संदर्भित करता है। में के रूप में /Users/myuserया /home/myuserया C:\Users\myuser

सिस्टम गुणों और उनके विवरणों की सूची के लिए यहां देखें ।


सही किया। User.dir के बारे में कैसे?
जॉनी-बी-गूड

3
पोस्ट करने से पहले ही इसे पढ़ लें। लेकिन "यूजर वर्किंग डायरेक्टरी" सर्वश्रेष्ठ स्पष्टीकरण नहीं है, आशा है कि आप सहमत होंगे।
जॉनी-बी-गूड

क्या इसका मतलब यह है कि सभी जावा संस्करणों के लिए टॉमकैट विन्यास पर अगर user.dirइशारा कर रहा है /usr/share/tomcatऔर विन्यास में हम कुछ इस तरह जोड़ते हैं: file:./configतो यह /usr/share/tomcat/configहमेशा की ओर इशारा करेगा ?
मार्सिन कपुस्ता


8

आमतौर पर यह वह निर्देशिका है जहां आपका ऐप (जावा) शुरू किया गया था (काम करना)। "आमतौर पर" क्योंकि इसे बदला जा सकता है, जैसे जब आप किसी ऐप को चलाते हैंRuntime.exec(String[] cmdarray, String[] envp, File dir)


मावेन प्रणाली द्वारा जूनिट परीक्षण निष्पादन के दौरान केवल एक मूल्य की आवश्यकता होती है।
जॉनी-बी-गूड

2
और जब आप इसे मैक पर बदलते हैं, तो यह इस परीक्षण stackoverflow.com/questions/45130661/… :( :(
डीन हिलर

3

System.getProperty("user.dir") वर्तमान परियोजना के लिए कार्यक्षेत्र की निर्देशिका या पथ को लाती है

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.