Ausgabe in String anstatt auf Stream

Status
Nicht offen für weitere Antworten.

Majortomster

Mitglied
Hallo,

folgendes Problem:
Ich benutze in meinem Java-Programm eine Methode aus einer Bibliothek eines Dritten. Diese Methode wird aufgerufen mit
methodenname(String, OutputStream);
Mit dem zweiten Parameter übergibt man ihr irgendwie einen Stream (so ganz kapiere ich das nicht) auf dem die "Antwort" ausgegeben wird. Wenn ich da "System.out" übergebe, dann klappt das und die Antwort wird einfach in der Konsole ausgegeben.
Ich möchte jetzt aber folgendes: Diese Antwort soll nicht ausgegeben werden oder in irgendeinen Stream (was immer das genau sein mag) sondern sie soll in einen String!
Wie stelle ich das an, dass die Antwort am Ende in einem String meiner Wahl steht???
Bitte helft mir

Grüße

Tomster
 
B

bygones

Gast
???

Du hast eine Methode die einen String in einen Stream schreibt und du willst in einen String tun ???:L

Du hast doch schon den String, warum soll er in einen anderen String ???
 
G

Guest

Gast
Ich glaube ich hab es etwas missverständlich formuliert.

Dieser String, der erste Parameter der Methode, hat mit dem Output überhaupt nix zu tun. Damit wird nur eine Information übergeben. Diese wird in der Methode verarbeitet und die Antwort wird auf besagtem OutputStream ausgegeben - diesen will ich aber, wie gesagt, in einen String haben.

Gruß

Tomster
 

Mick

Bekanntes Mitglied
deathbyaclown hat gesagt.:
???

Du hast eine Methode die einen String in einen Stream schreibt und du willst in einen String tun ???:L

Du hast doch schon den String, warum soll er in einen anderen String ???

Ich denke mal, der String, der übergeben wird, wird irgendwie verarbeitet und das Ergebnis dieser Verarbeitung wird auf dem Stream zurückgegeben.
Kannst Du die Klasse des dritten nicht verändern? Kann man nicht zusätzlich mit anderen Methoden auf das Ergebnis zugreifen?

Grüße,
Mick
 
B

bygones

Gast
ok, das habe ich verstanden, dennoch muss die Bibliothek doch wissen, was sie schreiben muss ?!
 

Illuvatar

Top Contributor
Übergib der Methode halt die Instanz einer Klasse, die aus OutputStream abgeleitet ist, und alles in einen String schreibt.

Code:
final StringBuffer retsb = "";
methodenname ("String", new OutputStream(){
  public abstract void write (int b)
  {
    retsb.append (String.valueOf((char)b));
  }
});
String s = retsb.toString();
 
B

bygones

Gast
ähm, ich würde aber das abstract bei write entfernen.... abstract definieren und Methodenbody vertragen sich nicht gut
 
G

Guest

Gast
Erstmal Danke für eure Antworten.

Ein Anfänger wie ich bin, habe ich das einfach mal so implementiert wie du es vorgeschlagen hast (ohne abstract) - es kommen zwar keine Fehlermeldungen, aber wenn ich den so erzeugten String ausgebe steht da einfach nur gar nix drin. Länge 0;
Woran kann das liegen?

Gruß

Tomster
 
B

bygones

Gast
Also mich würde echt interessieren was de eigentlich schreiben soll bzw. woher hat er das, was er schreiben soll ?????? Steh a weng auf der Leitung
 
G

Guest

Gast
Also wenns so brennend interessiert ;) dann erzähle ich wofür das ganze gut ist.
Die Methode um die es geht steht in einer SSH Library.
Der erste Parameter, der String, ist ein SSH-Kommando, was an die verbundene Maschine gesendet wird. Und auf den zweiten Parameter, den OutputStream, wird quasi die "Antwort" des Geräts geschrieben.
Und eben diese soll NICHT irgendwo ausgegeben werden, sondern zur weiteren Verarbeitung in einen String geschrieben werden.

Ganz nebenbei die Frage, kennt ihr zufällig eine SSH2.0 Library für Java, die das ganze vielleicht einfacher löst? Wo man nicht diesen Umweg über den Stream machen musst. So eine richtig einfache Implementierung halt, ohne Schnickschnack. Nur Befehl senden, Antwort in String, fertig. Mehr brauche ich nicht.

Grüße

Tomster
 
G

Guest

Gast
Ich hab auch schon das hier getestet:

ByteArrayOutputStream bout = new ByteArrayOutputStream();
console.command("show interface", bout);
String ausgabe = bout.toString();
System.out.println(ausgabe); // testen

Aber auch hier ist der String "ausgabe" einfach leer...
Wenn ich in der zweiten Zeile das bout durch System.out ersetze ist alles super und die erwartete Antwort wird ausgegeben...
Ich verstehe das alles nicht...
Bitte helft mir!

Grüße

Tomster
 

Illuvatar

Top Contributor
Mit ByteArrayOutputStream müsste es so gehen:

Code:
ByteArrayOutputStream bout = new ByteArrayOutputStream(); 
console.command("show interface", bout); 
String ausgabe = String.valueOf (bout.toByteArray()); 
System.out.println(ausgabe); // testen


oder anders, wie ich oben geschrieben habe:

Illuvatar hat gesagt.:
Übergib der Methode halt die Instanz einer Klasse, die aus OutputStream abgeleitet ist, und alles in einen String schreibt.

Code:
final StringBuffer retsb = "";
methodenname ("String", new OutputStream(){
  public void write (int b)
  {
    retsb.append (String.valueOf((char)b));
  }
});
String s = retsb.toString();
System.out.println (s); //test
 

Majortomster

Mitglied
Sorry aber das funktioniert beides nicht.
Bei dem ersten Beispielcode, mit ByteArrayOutputStream, kommt nur Schrott als Ergebnis (Ausgabe [B@13bad12) und bei dem zweiten (was du oben schon mal geschrieben hattest) ist der resultierende String wieder leer.
Das klappt alles nicht - ich verstehe das nicht...

Grüße

Tomster
 

Majortomster

Mitglied
Hallo nochmal,

vielleicht hat ja einer von euch so viel Zeit und auch Lust, sich das ganze direkt anzukucken und vielleicht eine Lösung zu finden.
Ich hab nämlich das Gefühl so kommen wir nicht weiter.
Wer mag kann sich die Sourcen ja runterladen (die die erwähnte Methode u.a. enthalten) und sich die Bibliothek mal ansehen.
Den Download gibts hier: http://www.appgate.com/products/5_MindTerm/4_Download/
Ich werde auch noch weitertesten aber bin mittlerweile schon am verzweifeln.


Grüße

Tomster
 
B

bygones

Gast
schau mal kurz rein - sag mir bitte aber in welcher Klasse sie ist !! Habe keine Lust alle zu durchsuchen !

Habs gefunden.....

Ehrlich gesagt - keine Ahnung, es gibt Methoden um den OutputStream zu ändern bzw. zu holen. ?! ansonsten wenn es die Lizenz zulässt würde ich die Library ändern .....
 

Majortomster

Mitglied
Die Library ändern??
Ich habe keine Ahnung wie ich das anstellen soll... das ist eine Nummer zu groß für mich. Ich bin nicht so der Freak in Java, dass ich da einfach mal locker sowas umbauen kann.
Ich bin eher mit C++ groß geworden und erst seit nicht so langer Zeit mit Java beschäftigt. Deshalb hab ich da noch nicht so den Durchblick.

Gruß

Tomster

P.S.: Dir ist nicht zufällig eine andere Library bekannt, die SSH einfacher implementiert?
 
Status
Nicht offen für weitere Antworten.
Ähnliche Java Themen
  Titel Forum Antworten Datum
J String Ausgabe Java Basics - Anfänger-Themen 2
JaVaN0oB Wörterraten - Falsche Ausgabe, String/Chars vergleichen Java Basics - Anfänger-Themen 2
S While-Schleifen Ausgabe als String? Java Basics - Anfänger-Themen 1
F String length nicht gleich der Ausgabe Java Basics - Anfänger-Themen 10
W Datentypen String-Ausgabe in jLabel Java Basics - Anfänger-Themen 14
R byte[] zu String und Ausgabe Java Basics - Anfänger-Themen 2
J String Ausgabe nicht-leerer Zeichen nicht korrekt Java Basics - Anfänger-Themen 10
J Erste Schritte Text Eingabe und Ausgabe mit String? Java Basics - Anfänger-Themen 26
M Ausgabe aus WHILE Schleife in String speichern? Java Basics - Anfänger-Themen 3
J Ausgabe in String(s) speichern Java Basics - Anfänger-Themen 3
B string ausgabe Java Basics - Anfänger-Themen 4
N Ausgabe des Inhalts eines String Arrays in einer ArrayList Java Basics - Anfänger-Themen 4
B Fehleranzeige bei String Ausgabe Java Basics - Anfänger-Themen 6
T Ausgabe eines Konsolenbefehls in String? speichern Java Basics - Anfänger-Themen 10
G string ausgabe einfärben Java Basics - Anfänger-Themen 2
M Ausgabe einer ArrayList ensteht nur als Hashcode, nicht als Objekt Java Basics - Anfänger-Themen 16
M Methode zielnah zeigt das gewünschte Ausgabe nicht an Java Basics - Anfänger-Themen 3
M Ausgabe beim Overloading Java Basics - Anfänger-Themen 3
H Frage zur Ausgabe Java Basics - Anfänger-Themen 4
H Java-Programm zur Ausgabe von Zuständen Java Basics - Anfänger-Themen 80
S Einfach-Verkettete-Listen Ausgabe zeigt nur 1. und letzte instanz Java Basics - Anfänger-Themen 2
T float soll durch schleife die größte mögliche Zahl herausfinden, Ausgabe ist aber "Infinity" Java Basics - Anfänger-Themen 1
B Binärzahlen auflisten, falsche Ausgabe? Java Basics - Anfänger-Themen 1
M Java Ausgabe der höchsten Zahl Java Basics - Anfänger-Themen 14
M Erste Schritte While Schleife / Ausgabe von buchstabe & ASCII Wert Java Basics - Anfänger-Themen 4
nelsonmandela Problem bei Ausgabe einer Switch - Case Funktion Java Basics - Anfänger-Themen 5
W Streams in Java und was bedeutet meine Konsolen-Ausgabe? Java Basics - Anfänger-Themen 4
B Automatisierte Ausgabe (Schleife, If-Abfrage?) Java Basics - Anfänger-Themen 24
C 2D Array Ausgabe mit for-Schleife i,j Java Basics - Anfänger-Themen 4
B Deadlock verstehen der Ausgabe! Java Basics - Anfänger-Themen 12
Lion.King Ausgabe mit Eigenschaften Java Basics - Anfänger-Themen 4
D Java Pattern mit X Ausgabe Stern Java Basics - Anfänger-Themen 4
J In der Ausgabe wird ohne Eingabe in den else Block gesprungen. Java Basics - Anfänger-Themen 0
J In der Ausgabe wird ohne Eingabe in den else Block gesprungen. Java Basics - Anfänger-Themen 5
Xaver code Tastatur ausgabe Java Basics - Anfänger-Themen 4
R Anfänger: Ausgabe kommt minus raus? Java Basics - Anfänger-Themen 6
K Leerzeile in Konsolen-Ausgabe Java Basics - Anfänger-Themen 4
K Zweite Ausgabe von vererbten Klassen Java Basics - Anfänger-Themen 3
Q return Ausgabe Java Basics - Anfänger-Themen 4
C Java Arrays - Ausgabe in Methode Java Basics - Anfänger-Themen 12
D Best Practice Ausgabe über direkte Ausgabe oder try-catch? Java Basics - Anfänger-Themen 13
S Ausgabe des Variablenwerts Java Basics - Anfänger-Themen 10
I Ausgabe nicht nur senkrecht sondern auch waagerecht. Java Basics - Anfänger-Themen 2
paulen1 Methoden Unerwünschte Ausgabe bei System.out.print in For-Schleife Java Basics - Anfänger-Themen 8
C Ausgabe boolean return ((n==9)||(n==0)); Java Basics - Anfänger-Themen 13
F Double Ausgabe nicht wissenschaftlich Java Basics - Anfänger-Themen 16
danieldemetry Java - Graph Komponenten - Ausgabe Java Basics - Anfänger-Themen 0
S Fragen zu Ausgabe double und float Java Basics - Anfänger-Themen 3
B Ausgabe in TextArea funktioniert nicht Java Basics - Anfänger-Themen 2
D BigDecimal Ausgabe sehr lang. Java Basics - Anfänger-Themen 2
TimoN11 IntelliJ , Ausgabe von einem Quellcode in Eingabe eines Quellcodes Java Basics - Anfänger-Themen 1
Kalibru Problem bei Ausgabe von Objekt Java Basics - Anfänger-Themen 1
KogoroMori21 Array-Ausgabe Java Basics - Anfänger-Themen 6
E Ausgabe überschreiben Java Basics - Anfänger-Themen 15
D Ausgabe von Array Java Basics - Anfänger-Themen 2
U Ausgabe Java Basics - Anfänger-Themen 4
J Buchstabenhäufigkeit mit Array und Ausgabe des häufigsten Buchstaben Java Basics - Anfänger-Themen 25
V Multiplikationstafel - Ausgabe Java Basics - Anfänger-Themen 4
L Warum ist die Ausgabe anders als das was im Bezeichner steht? Java Basics - Anfänger-Themen 4
M In gleicher zeile hinter ausgabe noch etwas ausgeben Java Basics - Anfänger-Themen 1
newcomerJava Nach doppelter Zahl eine Ausgabe Java Basics - Anfänger-Themen 10
H Falsche Ausgabe Java Basics - Anfänger-Themen 2
P Klassenübergreifende Ausgabe mittels "getter" nicht möglich Java Basics - Anfänger-Themen 21
R Call-by-Value, Call-by-Reference, Call-by-Name Ausgabe Java Basics - Anfänger-Themen 1
JavaClap "Bruchrechner" liefert Fehler/keine Ausgabe bei Addition und Subtraktion Java Basics - Anfänger-Themen 0
D Warum erfolgt folgende Ausgabe und warum? Java Basics - Anfänger-Themen 4
C Ausgabe in der Konsole Java Basics - Anfänger-Themen 11
M Problem bei Ausgabe Java Basics - Anfänger-Themen 7
C Konvertierung des int typs in den double typ für die Ausgabe mit Nachkommastellen Java Basics - Anfänger-Themen 4
A Ausgabe mit boolean Java Basics - Anfänger-Themen 3
K Probleme bei der Ausgabe - komme nicht weiter :/ Java Basics - Anfänger-Themen 15
G Problem bei der Ausgabe einer Main Claase Java Basics - Anfänger-Themen 7
Y Methode + Parameters + Ein und Ausgabe Java Basics - Anfänger-Themen 1
K Methodenaufruf /-ausgabe Java Basics - Anfänger-Themen 5
A Wiederholte Ausgabe vermeiden Java Basics - Anfänger-Themen 16
B Collections Objektreferenz-ID in der Ausgabe (Comparator Interface) Java Basics - Anfänger-Themen 2
M Wie analysiert JSON eine toString-Ausgabe ? Java Basics - Anfänger-Themen 1
T Vererbung Verschiedene Fahrzeugtypen mit unterschiedlicher Ausgabe Java Basics - Anfänger-Themen 17
T Ausgabe einer for Schleife Java Basics - Anfänger-Themen 2
S Elemente eines Arrays bei Ausgabe auslassen Java Basics - Anfänger-Themen 2
M Ausgabe einer Liste welche mehrere Stacks enthält Java Basics - Anfänger-Themen 3
T Text-Ausgabe für Textadventure - Organisation Java Basics - Anfänger-Themen 5
G Unterklassen (Klasse für Ausgabe) Java Basics - Anfänger-Themen 4
N Eingabe des Users direkt hinter die Ausgabe Java Basics - Anfänger-Themen 3
J Methode zur Ausgabe eines Dreiecks aus Sternen schreiben? Java Basics - Anfänger-Themen 2
ZH1896ZH Wieso diese Ausgabe?? Java Basics - Anfänger-Themen 10
J Fragen zum Code aus dem Buch "Schrödinger programmiert Java 2.te Ausgabe" Java Basics - Anfänger-Themen 6
B Keine Ausgabe .. Woran liegt das? Ich komme nicht weiter Java Basics - Anfänger-Themen 14
K Rechtsbündige Ausgabe von Zahlen Java Basics - Anfänger-Themen 6
V Erste Schritte for-Schleife; Ausgabe soll alle 5 Sekunden erfolgen. Java Basics - Anfänger-Themen 4
X Threads Zwei Threads, aber doppelte Ausgabe verhindern (synchronized) Java Basics - Anfänger-Themen 54
J Ausgabe Gesamtpreis Java Basics - Anfänger-Themen 39
E Variablen in formatierter Ausgabe Java Basics - Anfänger-Themen 15
B HQL / Hibernate, GroupBy und Ausgabe als Double Java Basics - Anfänger-Themen 1
J StrinBuffer in der Ausgabe Java Basics - Anfänger-Themen 4
H ausgabe? Java Basics - Anfänger-Themen 32
B Ausgabe Zahlenreihe Horizontal Java Basics - Anfänger-Themen 3
V Neue Ausgabe von toString nach Methodenaufruf Java Basics - Anfänger-Themen 9
N Wochentagberechner Ausgabe funktioniert nicht Java Basics - Anfänger-Themen 7
K Array Ausgabe Java Basics - Anfänger-Themen 2

Ähnliche Java Themen

Neue Themen


Oben