2012-01-22 12 views
11

संभव डुप्लिकेट स्ट्रिंग के रूप परिणाम पाठ वापस जाने के लिए कैसे:
Get output from a process
Executing DOS commands from Javaविंडोज जावा में आदेश चलाने के लिए और

मैं एक के भीतर से एक cmd कमांड को चलाने के लिए कोशिश कर रहा हूँ जावा कंसोल प्रोग्राम उदाहरण:

ver 

और उसके बाद जावा के एक स्ट्रिंग में कमांड का आउटपुट वापस करें। उत्पादन:

string result = "Windows NT 5.1" 
+0

क्यों downvote? – Mike

+3

इस प्रश्न से पूछने से पहले आपको यह खोजना चाहिए था। जब मैं स्टैक ओवरफ्लो की खोज में [जावा में विंडोज़ कमांड चलाता हूं] [http://stackoverflow.com/search?q=run%20Windows%20commands%20in%20JAVA) खोजता हूं, तो मुझे परिणाम नीचे मिलते हैं ... http: // stackoverflow.com/questions/2935326/java-library-api-to-help-run-windows-commands http://stackoverflow.com/questions/4031390/executing-dos-commands-from-java http: // stackoverflow। कॉम/प्रश्न/7112259/कैसे-टू-निष्पादित-विंडोज-कमांड-उपयोग-जावा-परिवर्तन-नेटवर्क-सेटिंग्स –

+0

यह लिंक आपकी सहायता करेगा: https://www.codepuran.com/java/execute-dos-command- जावा/ –

उत्तर

27

आप इस

import java.io.*; 

    public class doscmd 
    { 
     public static void main(String args[]) 
     { 
      try 
      { 
       Process p=Runtime.getRuntime().exec("cmd /c dir"); 
       p.waitFor(); 
       BufferedReader reader=new BufferedReader(
        new InputStreamReader(p.getInputStream()) 
       ); 
       String line; 
       while((line = reader.readLine()) != null) 
       { 
        System.out.println(line); 
       } 

      } 
      catch(IOException e1) {e1.printStackTrace();} 
      catch(InterruptedException e2) {e2.printStackTrace();} 

      System.out.println("Done"); 
     } 
    } 
1

java.lang.Runtime पर एक नज़र डालें या, बेहतर अभी तक, java.lang.Process

This प्रारंभ करने में मदद कर सकते हैं।

2

के लिए निम्न कोड का उपयोग कर सकते है आप की तरह कुछ कर सकते हैं:

String line; 
Process p = Runtime.getRuntime().exec ("ver"); 
BufferedReader input =new BufferedReader(new InputStreamReader(p.getInputStream())); 
BufferedReader error =new BufferedReader(new InputStreamReader(p.getErrorStream())); 

System.out.println("OUTPUT"); 
while ((line = input.readLine()) != null) 
    System.out.println(line); 
input.close(); 

System.out.println("ERROR"); 
while ((line = error.readLine()) != null) 
    System.out.println(line); 
error.close(); 

@RanRag की टिप्पणी पर, मुख्य मुद्दा विंडोज बनाम यूनिक्स/मैक है ।

  • विंडोज़: निष्पादन ("cmd/c ver");
  • यूनिक्स फ्लॉवर: exec ("ver");
+0

आपको प्रोसेस पी = रनटाइम .getRuntime()। exec ("cmd/c ver") के साथ exec को कॉल करने की आवश्यकता है; '। – RanRag

+1

मैं प्रतिबिंबित करता हूं कि परिवर्तन ..tx – havexz

5

आप जावा कोड से डॉस कमांड निष्पादित करने के लिए जावा में Runtime exec का उपयोग कर सकते हैं।

Process p = Runtime.getRuntime().exec("cmd /C ver"); 
BufferedReader stdInput = new BufferedReader(new InputStreamReader(p.getInputStream()),8*1024); 

BufferedReader stdError = new BufferedReader(new InputStreamReader(p.getErrorStream())); 

// read the output from the command 

String s = null; 
System.out.println("Here is the standard output of the command:\n"); 
while ((s = stdInput.readLine()) != null) 
System.out.println(s.replace("[","").replace("]","")); 

आउटपुट = Microsoft Windows Version 6.1.7600

+0

विंडोज विशिष्ट soln के लिए +1 ... – havexz

संबंधित मुद्दे