मैं user.dirअपने यूनिट परीक्षणों के लिए बेस डायर के रूप में उपयोग करना चाहता हूं (जो बहुत सारी फाइलें बनाता है)। क्या यह सही है कि यह संपत्ति वर्तमान कार्य निर्देशिका (जैसे 'सीडी' कमांड द्वारा निर्धारित) की ओर इशारा करती है?
मैं user.dirअपने यूनिट परीक्षणों के लिए बेस डायर के रूप में उपयोग करना चाहता हूं (जो बहुत सारी फाइलें बनाता है)। क्या यह सही है कि यह संपत्ति वर्तमान कार्य निर्देशिका (जैसे 'सीडी' कमांड द्वारा निर्धारित) की ओर इशारा करती है?
जवाबों:
यह वह निर्देशिका है जहां javaसे चलाया गया था, जहां आपने JVM शुरू किया था। उपयोगकर्ता के घर निर्देशिका के भीतर होना जरूरी नहीं है। यह कहीं भी हो सकता है जहां उपयोगकर्ता को जावा चलाने की अनुमति है।
इसलिए यदि आप cdमें हैं /somedir, तो अपना कार्यक्रम चलाएं, user.dirहोगा /somedir।
एक अलग संपत्ति, user.homeउपयोगकर्ता निर्देशिका को संदर्भित करता है। में के रूप में /Users/myuserया /home/myuserया C:\Users\myuser।
सिस्टम गुणों और उनके विवरणों की सूची के लिए यहां देखें ।
user.dirइशारा कर रहा है /usr/share/tomcatऔर विन्यास में हम कुछ इस तरह जोड़ते हैं: file:./configतो यह /usr/share/tomcat/configहमेशा की ओर इशारा करेगा ?
user.dirजावा ट्यूटोरियल, सिस्टम प्रॉपर्टीज के अनुसार "यूजर वर्किंग डायरेक्टरी" है
आमतौर पर यह वह निर्देशिका है जहां आपका ऐप (जावा) शुरू किया गया था (काम करना)। "आमतौर पर" क्योंकि इसे बदला जा सकता है, जैसे जब आप किसी ऐप को चलाते हैंRuntime.exec(String[] cmdarray, String[] envp, File dir)
System.getProperty("user.dir") वर्तमान परियोजना के लिए कार्यक्षेत्र की निर्देशिका या पथ को लाती है
-Duser.dirध्वजFileवस्तुओं को प्रभावित करता है (यदि उन्हें पूर्ण पथ नहीं दिया गया है) लेकिनFileOutPutStreamवस्तुएं नहीं । यदि आप दोनों के लिए डिफ़ॉल्ट निर्देशिका मिलान सुनिश्चित करना चाहते हैं, तोcdआपको जावा शुरू करने से पहले चाहिए ।