कमांड-लाइन तर्क एक आवेदन के लिए कॉन्फ़िगरेशन गुणों को निर्दिष्ट करने का एक तरीका हो सकता है, और जावा अलग नहीं है। ऑपरेटिंग सिस्टम से एप्लिकेशन आइकन पर क्लिक करने के बजाय, आप चला सकते हैं जावा एक टर्मिनल विंडो से आवेदन। एप्लिकेशन नाम के साथ, कई तर्क का अनुसरण कर सकते हैं, जो तब एप्लिकेशन के शुरुआती बिंदु (यानी, मुख्य विधि, जावा के मामले में) में पारित हो जाते हैं।
उदाहरण के लिए, NetBeans कई स्टार्टअप पैरामीटर हैं जो टर्मिनल विंडो (जैसे,) से चलने पर अनुप्रयोग में भेजे जा सकते हैं।
JDK का एक संस्करण निर्दिष्ट करता है जिसका उपयोग नेटबीन्स एप्लिकेशन से जुड़े डिफ़ॉल्ट JDK के बजाय किया जाता है)।
मुख्य विधि
आइए जांच करते हैं मुख्य विधि यह देखने के लिए कि आवेदन में दिए गए तर्क कहाँ दिखाई देते हैं:
कमांड-लाइन तर्क में पाया जा सकता है
बुलाया
उदाहरण के लिए, आइए एक एप्लिकेशन पर विचार करें जिसे कहा जाता है
जिसका एकमात्र कार्य इसके लिए पारित कमांड-लाइन तर्कों को प्रिंट करना है:
पब्लिक क्लास कमांडलाइनअर्ज {
सार्वजनिक स्थैतिक शून्य main (String [] args) {
// यह देखने के लिए जांच करें कि स्ट्रिंग सरणी खाली है या नहीं
अगर (args.length == 0)
{
System.out.println ("कोई कमांडलाइन तर्क पारित नहीं हुए!");
}
// स्ट्रिंग स्ट्रिंग में प्रत्येक स्ट्रिंग के लिए
// स्ट्रिंग का प्रिंट आउट लें।
के लिए (स्ट्रिंग तर्क: args)
{
System.out.println (तर्क);
}
}
}
कमांड लाइन तर्क का सिंटैक्स
जावा रनटाइम इंजन (JRE) किसी विशेष सिंटैक्स का अनुसरण करने वाले तर्कों की अपेक्षा करता है, जैसे:
जावा प्रोग्रामनाम मान 1 मान 2
ऊपर, "जावा" जेआरई को आमंत्रित करता है, जिसे उस प्रोग्राम का नाम दिया जाता है जिसे आप कॉल कर रहे हैं। कार्यक्रम में किसी भी तर्क के बाद इनका पालन किया जाता है। किसी कार्यक्रम में जितने तर्क हो सकते हैं, उसकी कोई सीमा नहीं है, लेकिन आदेश महत्वपूर्ण है। JRE उस आदेश में तर्क पारित करता है जिसमें वे कमांड लाइन पर दिखाई देते हैं। उदाहरण के लिए, ऊपर से इस कोड स्निपेट पर विचार करें:
पब्लिक क्लास कमांडलाइनअर्गस 2 {
सार्वजनिक स्थैतिक शून्य main (String [] args) {
अगर (args.length == 0)
{
System.out.println ("कोई कमांडलाइन तर्क पारित नहीं हुए!");
}
जब एक जावा प्रोग्राम में तर्क पारित किए जाते हैं, तो args [0] सरणी का पहला तत्व है (मान 1 ऊपर), args [1] दूसरा तत्व (value2) है, और इसी तरह। कोड args.length () सरणी की लंबाई को परिभाषित करता है।
पासिंग कमांड-लाइन तर्क
NetBeans में, हम एप्लिकेशन बनाने और टर्मिनल विंडो से चलाने के बिना कमांड-लाइन तर्क पारित कर सकते हैं। कमांड-लाइन तर्क निर्दिष्ट करने के लिए:
- में प्रोजेक्ट फ़ोल्डर पर राइट-क्लिक करें
परियोजनाओं
खिड़की। - चुनना
गुण
खोलने का विकल्पपरियोजना के गुण
खिड़की। - में
श्रेणियाँ
दाईं ओर की सूची चुनें, चुनेंDaud
- में
तर्क
दिखाई देने वाला टेक्स्टबॉक्स, उस कमांड-लाइन तर्क को निर्दिष्ट करें जिसे आप एप्लिकेशन में पास करना चाहते हैं। उदाहरण के लिए, यदि हम प्रवेश करते हैंसेब केला गाजर
मेंतर्क
टेक्स्टबॉक्स और चलाएंCommandLineArgs
ऊपर सूचीबद्ध कार्यक्रम, हम उत्पादन मिलेगा:
कमांड-लाइन तर्क की पार्सिंग
आमतौर पर, एक कमांड लाइन तर्क कुछ जानकारी के साथ पारित किया जाता है कि मूल्य के साथ क्या करना है। आमतौर पर जिस तर्क के लिए आवेदन दिया जाता है उसे सूचित करने वाला तर्क उसके नाम से पहले एक हाइफ़न या दो होता है। उदाहरण के लिए, JDK पथ निर्दिष्ट करने वाले स्टार्टअप पैरामीटर के लिए NetBeans उदाहरण है
इसका मतलब है कि आपको यह समझने के लिए कमांड-लाइन तर्कों को पार्स करने की आवश्यकता होगी कि मूल्यों के साथ क्या करना है। कमांड लाइन तर्क को पार्स करने के लिए कई जावा कमांड-लाइन फ्रेमवर्क हैं। या आप एक साधारण कमांड-लाइन पार्सर लिख सकते हैं यदि आपको जिन तर्कों को पारित करने की आवश्यकता है, वे कई नहीं हैं:
कोड ऊपर या तो तर्कों को प्रिंट करता है या उन्हें एक साथ जोड़ता है यदि वे पूर्णांक हैं। उदाहरण के लिए, यह कमांड लाइन तर्क संख्याओं को जोड़ेगा:
जावा कमांडलाइनअर्ग्स -डान्नस 11 22 33 44