Terminal Commands ausführen?

Ich wollte fragen ob es möglich ist, in einem Java Programm ein Command sozusagen „einzugeben“ und das dieser dann vom Terminal ausgeführt wird?
Also zum Beispiel habe ich ein Programm, und wenn ich dann einen Button drücke, wird der Command xy in der Konsole ausgeführt.

Ich bedanke mich schon mal für eure Hilfe. :slight_smile:

LG Huntro

Ja das geht bspw. mit dem ProcessBuilder.

Könntest du ein kleines Beispiel geben, ich bin irgendwie zu blöd das hinzubekommen.

LG Huntro

Also im großen weiten Internet sollte man eigentlich mehr als genug Beispiele finden :wink: Aber naja, hier mal nen kurzes knappes Beispiel:

public static void main(String[] args) throws Exception
{
	ProcessBuilder processBuilder = new ProcessBuilder("id");
	Process process = processBuilder.start();
	process.waitFor();
	
	BufferedReader in = new BufferedReader(new InputStreamReader(process.getInputStream()));
	String input = in.readLine();
	
	System.out.println(input);
}

EDIT:
Folgendes solltest du allerdings noch beachten: Treten im gestarteten Prozess Fehler auf, landen die im Error- bzw. Outputstream. Die solltest du also auch noch auslesen. Unter Umständen musst du die sogar leeren damit der Prozess beendet wird.

die erste zu lernende Nicht-Blödheit ist, Beispiele in Suchmaschinen zu suchen :wink:

wie man ahnen kann und schnell sieht, gibt es da mehr als 1-2 Zeilen Text zu verlieren
http://www.xyzws.com/Javafaq/how-to-run-external-programs-by-using-java-processbuilder-class/189

was nicht unbedingt zu ahnen ist, ist dass es speziell für Windows-Konsolenbefehle a la dir noch komplizierter werden kann,
im Link mit CMD /C mit dabei,

insofern nach gewissen Grundlagen ruhig auch genaue Umgebung, gewünschte Befehle und Fehlermeldungen nennen