• Es freut uns dass du in unser Minecraft Forum gefunden hast. Hier kannst du mit über 130.000 Minecraft Fans über Minecraft diskutieren, Fragen stellen und anderen helfen. In diesem Minecraft Forum kannst du auch nach Teammitgliedern, Administratoren, Moderatoren , Supporter oder Sponsoren suchen. Gerne kannst du im Offtopic Bereich unseres Minecraft Forums auch über nicht Minecraft spezifische Themen reden. Wir hoffen dir gefällt es in unserem Minecraft Forum!

Befehl in Java Process ausführen

Sabbertran

Kuhfänger
Registriert
24 April 2012
Beiträge
75
Diamanten
0
Minecraft
Sabbertran
Hey, Frohe Weihnachten euch allen erstmal,

ich probieren grade einen Minecraft Server über ein kleines selbstgeschriebenes Java Programm zum laufen zu kriegen.
Das funktioniert auch alles gut, nur weiß ich nicht, wie ich nachdem der Server gestartet ist und in einem eigenen Process läuft weitere Befehle an ihn senden kann.

Ich starte den Server wie folgt, wobei 'command' der Java Befehl zum starten des Servers ist.

Code:
Process p = Runtime.getRuntime().exec(command);

Kann mir da jemand weiterhelfen?

Gruß Sabbertran
 

Sabbertran

Kuhfänger
Registriert
24 April 2012
Beiträge
75
Diamanten
0
Minecraft
Sabbertran
Danke, das hat funktioniert.
Ich mache das ganze jetzt allerdings mit nem BufferedWriter, allerdings tritt ein sonderbarer Fehler auf.

Wenn ich per
Code:
writer.write(command);
writer.flush();
einen Befehl an den Server sende wird dieser nicht ausgeführt.
Schließe ich den Stream danach aber per
Code:
writer.close();
kommt der Befehl beim Server an und wird ausgeführt.
Nur kann ich dann offensichtlicherweise keine weiteren Befehle mehr senden, da der Stream ja geschlossen ist.

Hat jemand ne Idee wie man das Problem lösen/umgehen könnte?
 
C

Chrisliebaer

Guest
Schickst du auch jedes mal ein Zeilenumbruch mit am ende? Also "\n"?

Ansonsten weiß das Programm ja garnicht, dass die Zeile abgeschlossen ist. Du musst schließlich auch erst Enter drücken, wenn du was in die Konsole eingegeben hast.
 
Oben