Befehl in Java Process ausführen

Dieses Thema im Forum "Programmierung" wurde erstellt von Sabbertran, 24. Dezember 2013.

  1. Sabbertran
    Online

    Sabbertran

    Registriert seit:
    24. April 2012
    Beiträge:
    75
    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 (Text):
    1. Process p = Runtime.getRuntime().exec(command);
    Kann mir da jemand weiterhelfen?

    Gruß Sabbertran
     
    #1
  2. Crafter6432
    Offline

    Crafter6432

    Registriert seit:
    22. Dezember 2011
    Beiträge:
    686
  3. Sabbertran
    Online

    Sabbertran

    Registriert seit:
    24. April 2012
    Beiträge:
    75
    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 (Text):
    1. writer.write(command);
    2. writer.flush();
    einen Befehl an den Server sende wird dieser nicht ausgeführt.
    Schließe ich den Stream danach aber per
    Code (Text):
    1. 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?
     
    #3
  4. Chrisliebaer
    Online

    Chrisliebaer

    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.
     
    #4
  5. Sabbertran
    Online

    Sabbertran

    Registriert seit:
    24. April 2012
    Beiträge:
    75
    Minecraft:
    Sabbertran
    Das habe ich heute morgen auch bemerkt.
    Mit Umbruch funzt das ganze.
    Danke für die Hilfe :)
     
    #5