2016-07-03 14 views
0

Hallo Leute :) Ich arbeite tatsächlich an einem Projekt und ich muss eine Klasse in einer neuen Eingabeaufforderung ausführen, aber ich muss es mit Java tun. Also muss ich in einer bestimmten Klassenklasse den richtigen Code schreiben, der die Klasse Sensor in einer neuen Eingabeaufforderung aufruft. Ich habe diese Code-Zeilen, die eine neue Eingabeaufforderung öffnet, aber wie man es die Klasse Sensor an dieser Eingabeaufforderung geöffnet ausführen lassen?Führen Sie eine Klasse in cmd durch Java-Code

String[] command =(new String[]{"cmd", "/k", "start", "cmd" , "\""}); 
    Runtime.getRuntime().exec(command); 

Jede Hilfe würde geschätzt werden !! Vielen Dank im Voraus :)

+0

Können Sie uns bitte Ihre Sensor-Klasse zeigen? – timothyclifford

+0

@timothyclifford Es ist ein bisschen kompliziert, aber so etwas wie: (Es ist nicht abgeschlossen) öffentliche Klasse Sensor {öffentliche statische void main (String [] args) löst IOException, JSONException { tun {// macht eine REST POST REQUEST zu einem Server REST// ERHÄLT DIE RESPONS Sensor.Simulation (Typ, Idnummer); // AKTIVIEREN SIE DIE SENSOR-Sensoren.Sensor.TokenManagement (prevPort, nextId, nextPort); // VERWALTEN SIE DAS TOKEN} System.out.println ("Drücken Sie exit, um den Sensor zu löschen"); { // DELETE REQUEST TO SERVER REST} // RESPONSE FROM SERVER, {System.exit (1);} –

+0

Schauen Sie sich bitte [Ausgabe von der Eingabeaufforderung mit Null] (http://stackoverflow.com/questions/38113931/) an, um zu verstehen, was 'cmd/c starte cmd.exe/K' oder andere Varianten wie oben 'cmd/k start cmd', was wie viele Java-Programmierer aussieht, ohne zu wissen, was hier passiert. – Mofi

Antwort

0

Versuchen Sie diesen Code
es cmd öffnen und den Befehl an sie übergeben
Um die Java-Datei zu kompilieren.

String command="cmd /c \""+drive+" && cd "+fileParentDrive+" && javac "+javaFileName+"\""; 
Process child = Runtime.getRuntime().exec(command); 

Um Klassendatei

command="cmd.exe /k start cmd.exe /k \""+drive+" && java "+classFileName+"\""; 
child = Runtime.getRuntime().exec(command , null , new File(drive+ parent)); 

Methode Runtime.getRuntime().exec(command) wird die Referenz der Process Klasse zurückkehren laufen. Jetzt können Sie die Ausgabe der Datei erhalten, während cmd Ausführung auf wie folgt

Fehler zu erhalten, wenn bei der Kompilierung auftritt

InputStream in = child.getErrorStream(); 
int i; 
String error=""; 
while((i=in.read())!=-1) 
{ 
    error+=(char)i; 
}