Slyh: char in string umwandeln.....irgendwas mache ich falsch.

Beitrag lesen

Hallo,

das würde für mich als java-newbie dann so aussehen:

textstring = textstring + (char)c;

oder doch eher so:

textstring += (char)c;

kannst du mir da eventuell eine lösung für geben?

Das solltest du so nicht tun. Einfach weil String-Objekt immutable
(zu Deutsch: unveränderlich) sind, und somit bei jeder Zuweisung zuerst
ein neues String-Objekt erzeugt wird. (In deinem Java-Buch ist dieses
besondere Verhalten der String-Klasse genauer beschrieben.)

Im Grunde liegst du aber nicht so falsch.

Die Klasse StringBuffer (auch im Package java.lang) ist dafür gedacht,
veränderliche Strings zu halten. Hier gibt es wieder eine Methode
"append(char)".

So richtig performant ist es dadurch trotzdem nicht. Stell dir vor, da
kommt eine HTML-Datei mit 20KB zurück. Das entspricht ca. 20.000
Zeichen. Damit würde 20.000 mal die append-Methode aufgerufen werden.

Du könntest deinen InputStreamReader noch in einen BufferedReader
packen. Der bietet dann eine Methode readLine(). Damit liest du
zum einen die Daten gepuffert ein. Zum anderen zeilenweise. Diese
einzelnen Zeilen könntest du dann entweder über eine der beiden
genannten append-Methoden entweder zur JTextArea oder zum genannten
StringBuffer hinzufügen. (Nicht vergessen, daß readLine() den
Zeilenumbruch am Ende wegwirft.)

Dein Java-Buch wird dir mit den von mir genannten Stichworten bestimmt
konkret weiterhelfen können.

Gruß
Slyh