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.
Also im großen weiten Internet sollte man eigentlich mehr als genug Beispiele finden 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.
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