2016-04-11 6 views
0

Ich benutze Java-Programm zu Priyam.bat-Datei ausführen, die ich in D: /priyam.bat Verzeichnis platziert ist, aber während dieses Java-Programm ausgeführt wird, bekomme ich den folgenden Fehler.Erhalte einen Fehler beim Ausführen der Runtime.exec Methode in Java

java.io.IOException: Cannot run program "priyam.bat" (in directory "D:\"): CreateProcess error=2, The system cannot find the file specified 
    at java.lang.ProcessBuilder.start(ProcessBuilder.java:470) 
    at java.lang.Runtime.exec(Runtime.java:593) 
    at java.lang.Runtime.exec(Runtime.java:431) 
    at Test.main(Test.java:12) 
Caused by: java.io.IOException: CreateProcess error=2, The system cannot find the file specified 
    at java.lang.ProcessImpl.create(Native Method) 
    at java.lang.ProcessImpl.<init>(ProcessImpl.java:177) 
    at java.lang.ProcessImpl.start(ProcessImpl.java:28) 
    at java.lang.ProcessBuilder.start(ProcessBuilder.java:452) 
    ... 3 more 

Code-Snippet

import java.io.File; 
import java.io.IOException; 


public class Test { 

public static void main(String args[]) 
{ 
    Runtime r = Runtime.getRuntime(); 
    int arg = 5; 
    try { 
     Process p = r.exec("priyam.bat",null,new File("D://")); 
     System.out.println("executed"); 


    } catch (IOException e) { 
     // TODO Auto-generated catch block 
     e.printStackTrace(); 
     } 
    } 
} 

Wie ich bin neu in der Java-Welt, Ihre Hilfe und Vorschläge werden sehr gelobt und geschätzt. Vielen Dank im Voraus

+0

'Das System kann die angegebene Datei nicht finden.' Ist das nicht selbsterklärend? –

+0

Die Ausnahmebedingungsnachricht ist klar genug. Was verstehst du nicht? – Raedwald

+0

Siehe auch [Wenn Runtime.exec() nicht funktioniert] (http://www.javaworld.com/article/2071275/core-java/when-runtime-exec---won-t.html) für viele gute Tipps zum korrekten Erstellen und Bearbeiten eines Prozesses. Dann ignoriere es auf 'exec' und verwende einen' ProcessBuilder' um den Prozess zu erstellen. –

Antwort

0

mit diesem Code Versuchen:

Process p = r.exec("D:\\priyam.bat")); 

In Windows die Datei Trennzeichen ist "\" oder Sie können File.separator Wert verwenden.

+0

Danke Ipman1971, jetzt funktioniert der Code und läuft erfolgreich, aber die .bat-Datei öffnet sich nicht. Wie wenn wir auf Fledermaus-Datei doppelklicken, erscheint die Konsole, aber warum passiert das hier nicht? –

+0

Was erwarten Sie? Sie haben ein 'Process'-Objekt und Sie können den' stdout' des Prozesses von diesem Objekt lesen, wenn Sie die Ausgabe Ihrer 'priyam.bat' verarbeiten wollen. Bitte erklären Sie, was Sie genauer machen möchten. – Peter

Verwandte Themen