Eingabeaufforderungsbefehle in Java ausführen
Problem:
Eingabeaufforderungsbefehle werden über Java ausgeführt kann eine Herausforderung sein. Obwohl Sie möglicherweise Codeausschnitte finden, die die Eingabeaufforderung öffnen, fehlt ihnen häufig die Möglichkeit, Verzeichnisse zu wechseln und zusätzliche Befehle auszuführen.
Lösung:
Um Eingabeaufforderungsbefehle auszuführen und Verzeichnisse mit Java ändern, verwenden Sie einen ProcessBuilder. Mit diesem Ansatz können Sie:
- einen Prozess starten und seinen Standardfehler auf seine Standardausgabe umleiten.
- Verzeichnis wechseln und Befehle in einer einzigen Befehlszeile ausführen.
Codebeispiel:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 | import java.io.*;
public class CmdRunner {
public static void main(String[] args) throws Exception {
ProcessBuilder builder = new ProcessBuilder(
"cmd.exe" , "/c" , "cd \"C:\Program Files\Flowella\" && dir" );
builder.redirectErrorStream(true);
Process p = builder.start();
BufferedReader r = new BufferedReader( new InputStreamReader(p.getInputStream()));
String line;
while ((line = r.readLine()) != null) {
System.out.println(line);
}
}
}
|
Nach dem Login kopieren
Dies Code:
- Verwendet einen ProcessBuilder, um die Befehle „cd“ und „dir“ auszuführen.
- Leitet den Standardfehler des Prozesses in seine Standardausgabe für einen einzelnen Lesestream um.
- Druckt die Ausgabe auf der Konsole.
Das obige ist der detaillierte Inhalt vonWie kann ich Eingabeaufforderungsbefehle, einschließlich Verzeichnisänderungen, in Java ausführen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!