Frage zu StringReader und InputStream

takidoso

Erfahrenes Mitglied
Halli und Hallo,
ich habe folgende Problematik: Ich benötige einen InputStream, der von einem einfachen String gefüttert werden soll.
Zuerst dachte ich so an die Klasse StringBufferInputStream, nur leider scheins diese mittlerweile veraltet (deprecated) zu sein. Der Hinweis in der Hilfe brachte mich dann auf die Klasse StringReader.
Schön und gut, aber wie macht man daraus einen InputStream :confused:

Hat da jemand eine gute Idee?

mitbestem Dank im Voraus

Takidoso
 
Mir ist zwar noch nicht so ganz klar was du damit genau meinst aber ich nenne hier mal so die beiden Klassen InputStreamReader und OutputStreamWriter.
Vielleicht treffen die ja das was du evtl. haben willst.
Erläuter bitte dein Vorhaben ein wenig genauer.
 
Hallo!

Sowas?
Code:
/*
 * Created on 09.03.2005@20:37:12
 *
 * TODO Explain me...
 */
package de.tutorials;

import java.io.ByteArrayInputStream;
import java.io.InputStream;

/**
 * @author Darimont
 *
 */
public class StringInputStreamExample {

	public static void main(String[] args) {
		String str = "abcdefghijkl\ndhjkhdsakds\ndhdsahdakjasd";
		InputStream is = new ByteArrayInputStream(str.getBytes());
		//...
	}
}

Gruß Tom
 
Hi Tom,
vielen Dank, dies ist eine gute Lösung. Sie funktioniert und ist nicht depricated.
In diesem Zusammenhang für mein näheres Verständnis gefragt, gibt es eigetnlich Möglichkeiten aus einem Reader einen InputStream zu machen?

Takidoso
 
Die von Thomas vorgeschlagene Lösung birgt aber ein Risiko, dass das Encoding zerstört wird.

getBytes() wandelt den String in Bytes basierend auf dem aktuell _lokal_ eingestellten Encoding um. Das muss nicht UTF-8 sein.
Falls dein Programm z.B. Textdateien schreibt oder liest können in der Form Umlaute zerstört werden.

Besser wäre darauf zu achten konsequent UTF-8 zu verwenden.
.getBytes("UTF-8") wäre angebracht. (Vorrausgesetzt der Inhalt des Streams ist UTF-8. Man muss also wissen, in welchem Encoding der Inhalt des Streams vorliegt.)
 
Ich habe mal wieder ein solches Problem und fand unter anderem diesen Eintrag wieder.
unter anderem deswegen, da ich auf einem trhead stieß aus einem anderen Forum, welcher eine lösung beinhaltet, die vielleicht nicht schlecht sein könnte (ich werde sie demnähcst mal testen).
Guckst Du hier
 
Zuletzt bearbeitet:

Neue Beiträge

Zurück