अपने जावा प्रोग्राम में, आप Runtime.exec( का उपयोग करके एक बाहरी प्रोग्राम ("प्रोग्राम.exe") निष्पादित करने का प्रयास कर रहे हैं। ) तरीका। हालाँकि यह त्रुटियाँ उत्पन्न नहीं करता है, प्रोग्राम अप्रभावी प्रतीत होता है।
प्रदान किया गया कोड बाहरी प्रोग्राम शुरू करने के लिए Runtime.exec(params) पद्धति का उपयोग करता है। हालाँकि, इस पद्धति में जावा प्रोग्राम और बाहरी प्रक्रिया के बीच इनपुट और आउटपुट डेटा को संभालने की सीमाएँ हैं।
किसी बाहरी प्रोग्राम के साथ प्रभावी ढंग से बातचीत करने और उसके आउटपुट को पुनः प्राप्त करने के लिए, आप प्रोसेसबिल्डर क्लास का उपयोग कर सकते हैं। यहां एक उदाहरण दिया गया है जो दर्शाता है कि विशिष्ट मापदंडों के साथ "program.exe" प्रोग्राम को कैसे निष्पादित किया जाए:
ProcessBuilder processBuilder = new ProcessBuilder("C:\\Users\\user\\Desktop\\program.exe",
"C:\\Users\\user\\Desktop\\images.jpg", "C:\\Users\\user\\Desktop\\images2.txt");
Process process = processBuilder.start();
InputStream inputStream = process.getInputStream();
InputStreamReader inputStreamReader = new InputStreamReader(inputStream);
BufferedReader bufferedReader = new BufferedReader(inputStreamReader);
String line;
System.out.println("Output of running program.exe with parameters:");
while ((line = bufferedReader.readLine()) != null) {
System.out.println(line);
}
इस कोड में, हम आवश्यक पैरामीटर के साथ एक प्रोसेसबिल्डर इंस्टेंस बनाते हैं। बाहरी प्रोग्राम को आरंभ करने के लिए स्टार्ट() विधि का उपयोग किया जाता है। फिर हम प्रोग्राम के आउटपुट को पढ़ने के लिए एक इनपुटस्ट्रीम का उपयोग करते हैं, इसे इनपुटस्ट्रीमरीडर का उपयोग करके वर्णों में परिवर्तित करते हैं, और अंत में इसे आसान लाइन-दर-लाइन प्रोसेसिंग के लिए बफ़रेडरीडर में संग्रहीत करते हैं।
अस्वीकरण: उपलब्ध कराए गए सभी संसाधन आंशिक रूप से इंटरनेट से हैं। यदि आपके कॉपीराइट या अन्य अधिकारों और हितों का कोई उल्लंघन होता है, तो कृपया विस्तृत कारण बताएं और कॉपीराइट या अधिकारों और हितों का प्रमाण प्रदान करें और फिर इसे ईमेल पर भेजें: [email protected] हम इसे आपके लिए यथाशीघ्र संभालेंगे।
Copyright© 2022 湘ICP备2022001581号-3