tutorials.de Buch-Aktion 05/2012
ERLEDIGT
NEIN
ANTWORTEN
4
ZUGRIFFE
4893
EMPFEHLEN
  • An Twitter übertragen
  • An Facebook übertragen
AUF DIESES THEMA
ANTWORTEN
  1. #1
    illaX illaX ist offline Mitglied Brokat
    Registriert seit
    Jan 2004
    Ort
    Konstanz
    Beiträge
    268
    Hi,

    ich erstelle einen Process. Dann gibt es dort den InputStream, OutputStream und ErrorStream.

    Nun möchte ich gerne, wenn in der Eingabeaufforderung eine Eingabe erwartet wird darauf reagieren. Wie kann ich das machen?
     
    MfG
    illaX

  2. #2
    Avatar von schnuffie
    schnuffie schnuffie ist offline Mitglied Platin
    Registriert seit
    Oct 2004
    Ort
    Ober-Roden (Hessen)
    Beiträge
    725
    Dafür nutzt Du "System.in".
     
    CU schnuffie

    Fragliche Fragen stellende Fragensteller sind für verantwortungslose Antworten antwortender verantwortlicher Antworter selbst verantwortlich.

  3. #3
    illaX illaX ist offline Mitglied Brokat
    Registriert seit
    Jan 2004
    Ort
    Konstanz
    Beiträge
    268
    Hier mal ein bisschen code:

    Hier erstelle ich den Process:
    Code :
    1
    2
    3
    4
    5
    6
    7
    8
    
    String strExecute = "tclsh scm_checkout.tcl" +
                                    specificSelection.getSpecificSelection() +
                                    " -" + cbUnitType.getSelectedItem() +
                                    " " + unitJPanel.getText();
                
                try {
                    File file = new File("scm_tools/");
                    process = Runtime.getRuntime().exec(strExecute, null , file);

    Ich starte also eine .tcl Datei und die führt dann verschiedene Operationen durch. Dieses Programm fragt dann, ob zB: temporary files gelöscht werden sollen und wartet auf eine Eingabe.
    Wie kann ich diese Abfrage abfangen?
    Schreiben kann ich ja mit dem OutputStream
     
    MfG
    illaX

  4. #4
    Avatar von schnuffie
    schnuffie schnuffie ist offline Mitglied Platin
    Registriert seit
    Oct 2004
    Ort
    Ober-Roden (Hessen)
    Beiträge
    725
    Genau, Du durchforstest den process.getInputStream() und schreibst dann das, was gemacht werden soll in den process.getOutputStream().


    Code :
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    
    BufferedReader in = new BufferedReader(new InputStreamReader(process.getInputStream()));
    PrintStream out = new PrintStream(process.getOutputStream());
    for (;;) {
    String s = in.readLine();
    if (s = null) {
    try {
    Thread.sleep(1000);
    }
    catch (InterruptedException ie) {}
    }
    else {
     
    if (s.equals("del") {
      out.println("del *.*");
    }
     
    //u.s.w.
     
    }
     
    CU schnuffie

    Fragliche Fragen stellende Fragensteller sind für verantwortungslose Antworten antwortender verantwortlicher Antworter selbst verantwortlich.

  5. #5
    illaX illaX ist offline Mitglied Brokat
    Registriert seit
    Jan 2004
    Ort
    Konstanz
    Beiträge
    268
    Hatte gehofft das man dem Process irgendwie entlocken kann, ob eine Eingabe erforderlich ist und nicht die String vergleiche.


    Vielen Dank für die Hilfe schnuffi
     
    MfG
    illaX

Ähnliche Themen

  1. In und Outputstream
    Von DerKoenig im Forum Java
    Antworten: 2
    Letzter Beitrag: 17.01.11, 17:23
  2. Antworten: 1
    Letzter Beitrag: 26.07.10, 16:28
  3. input-/outputstream
    Von iakchos im Forum Java Grundlagen
    Antworten: 1
    Letzter Beitrag: 29.12.08, 07:17
  4. MimeMultipart -> OutputStream
    Von m_dieu im Forum Java
    Antworten: 0
    Letzter Beitrag: 18.08.07, 11:34
  5. Problem mit OutputStream
    Von chickenwings im Forum Java
    Antworten: 2
    Letzter Beitrag: 07.04.07, 18:31