Anzeige:
Ergebnis 1 bis 8 von 8

Thema: Java I/O Outputstream ausgeben

  1. #1
    Registrierter Benutzer
    Registriert seit
    29.01.2000
    Beiträge
    12

    Java I/O Outputstream ausgeben

    Hallo zusammen,
    ich tüftle gerade an einem scheinbar einfachen Problem rum und komme nicht weiter:
    meine Methode bekommt als Argument einen java.io.OutputStream und soll wenn da was reinkommt (per .println(),...) in eine JTextArea schreiben.
    Das kann doch nicht so schwierig sein, oder?!

    Grüße,
    Dominic

  2. #2
    Registrierter Benutzer
    Registriert seit
    30.09.2003
    Ort
    Fribourg
    Beiträge
    12

    Input/Output Stream

    wie kommt aus einem ausgangs stream etwas rein....
    sorry bin kein profi...... aber normalerweise liest du etwas was draussen ist mit einem input stream und schreibst mit einem output stream..........

    So solltest du normalerweise nicht aus einem output stream lesen....

    :-S bin aber wirklich kein profi programmierer

    MFG vielleicht kann dir wer besser helfen
    Vispo

  3. #3
    Registrierter Benutzer Avatar von Sym
    Registriert seit
    05.09.2002
    Ort
    Bremen
    Beiträge
    278
    Hi,

    ich weiß leider nicht, was Du mit dem OutputStream möchtest, aber ein JTextArea kannst Du mittels der Methode insert(String text, int position) vollschreiben.

    Vielleicht solltest Du nochmal genau beschreiben, was Deine Methode machen soll.

    [edit] Ein OutputStream hat keine Methode println() Was genau möchtest Du denn übergeben?

    Im übrigen ist ja eigentlich nicht klar, wohin der OutputStream gehen soll, d.h. er kann natürlich auch in einem JTextArea enden. Allerdings bräuchtest Du einen Listener für das Area, damit die Veränderung dann auch angezeigt wird (meines Wissens nach)

    Vielleicht hast Du ja das Code-Stück für uns. Dann kann zumindest ich das Problem meist leichter verstehen und vielleicht helfen.
    Geändert von Sym (31-03-2004 um 12:52 Uhr)
    Denk mal drüber nach...

    Lars

    ACHTUNG: ersetze Linux durch GNU/Linux an den entsprechenden Stellen
    www.macuser.de, MSVC2005 Express und Qt, Qt/Mac installieren

  4. #4
    Registrierter Benutzer Avatar von peschmae
    Registriert seit
    14.03.2002
    Ort
    Schweizland
    Beiträge
    4.549
    Wenn das ein PipedOutputStream währe (ist von OutputStream abgeleitet) ginge das recht einfach.
    Man kann nämlich einen PipedOutputStream via connect() mit einem PipedInputStream verbinden, aus dem dann ein zweiter Thread lesen kann, was in den Stream geschrieben wurde. (Zwei Threads sind wegen deadlock-Gefahr nötig, einer langt nicht)

    Mit "nur" OutputStream habe ich gerade keine Idee wie du das hinkriegen könntest.

    MfG Peschmä
    The greatest trick the Devil ever pulled was convincing the world he didn't exist. -- The Usual Suspects (1995)
    Hey, I feel their pain. It's irritating as hell when people act like they have rights. The great old one (2006)

  5. #5
    Registrierter Benutzer
    Registriert seit
    29.01.2000
    Beiträge
    12
    jo erstmal danke für die Ansätze. Bei println() bin ich wohl irgendwie mit dem PrintStream durcheinander gekommen - also bitte ignorieren.
    Was ich machen möchte ist folgendes:
    Ich habe 2 Threads, wobei der eine an den anderen mit Hilfe eines Streams Text übermitteln soll. Also dachte ich mir folgende:
    Ich erzeuge einen OutputStream in Thread 1 und übergebe diesen an Thread 2.
    In Thread 1 schreibe ich dann in den OutputStream (mit write()...) und Thread 2 gibt den den Text dann in eine JTextArea.
    Für bessere Alternativen bin ich natürlich auch gerne zu haben. Ich bin (noch) kein Profi und die Java I/O ist mir manchmal noch etwas suspekt.

    Danke schonmal,
    Dominic

  6. #6
    Administrator Avatar von anda_skoa
    Registriert seit
    17.11.2001
    Ort
    Graz, Österreich
    Beiträge
    5.477
    Eine gemeinsam ArrayList verwenden.
    Der eine schreibt neue Einträge an einer Seite rein, der andere liest am anderen Ende aus.

    synchronize(arraylistObject)

    in beiden Threads vor dem jeweiligen Zugriff.

    Ciao,
    _
    Qt/KDE Entwickler
    Debian Benutzer

  7. #7
    Registrierter Benutzer Avatar von peschmae
    Registriert seit
    14.03.2002
    Ort
    Schweizland
    Beiträge
    4.549
    a propos Alternativen: Wieso überhaupt zwei Threads? Kannst du das nicht einfach direkt dem JTextArea hinzufügen?

    MfG Peschmä
    The greatest trick the Devil ever pulled was convincing the world he didn't exist. -- The Usual Suspects (1995)
    Hey, I feel their pain. It's irritating as hell when people act like they have rights. The great old one (2006)

  8. #8
    Registrierter Benutzer
    Registriert seit
    29.01.2000
    Beiträge
    12
    Direkt reinschreiben geht nicht (bzw möchte ich nicht). Der 2. Thread soll so eine art Splashscreen bzw Pausenclown sein, der nur debuging Informationen vom eigentlichen Programm bekommt während das beschäftigt ist.

Lesezeichen

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •