Heim >Java >javaLernprogramm >Wie kann ich Eingabeaufforderungsbefehle, einschließlich Verzeichnisänderungen, in Java ausführen?

Wie kann ich Eingabeaufforderungsbefehle, einschließlich Verzeichnisänderungen, in Java ausführen?

Susan Sarandon
Susan SarandonOriginal
2024-12-11 13:13:10775Durchsuche

How Can I Execute Command Prompt Commands, Including Directory Changes, in Java?

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:

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);
        }
    }
}

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!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn