wake-up-neo.net

Wie konvertiere ich einen String in einen InputStream in Java?

Gegeben eine Zeichenfolge:

String exampleString = "example";

Wie konvertiere ich es in ein InputStream?

815
Iain

So was:

InputStream stream = new ByteArrayInputStream(exampleString.getBytes(StandardCharsets.UTF_8));

Beachten Sie, dass dies voraussetzt, dass Sie einen InputStream wünschen, der ein Strom von Bytes ist, die Ihre ursprüngliche Zeichenfolge darstellen, die als TF-8 codiert ist.

Ersetzen Sie für Versionen von Java mit weniger als 7 StandardCharsets.UTF_8 durch "UTF-8".

1355
Iain

Ich finde, dass die Verwendung von Apache Commons IO mein Leben viel einfacher macht.

String source = "This is the source of my input stream";
InputStream in = org.Apache.commons.io.IOUtils.toInputStream(source, "UTF-8");

Möglicherweise bietet die Bibliothek auch viele andere Verknüpfungen zu häufig ausgeführten Aufgaben, die Sie möglicherweise in Ihrem Projekt verwenden können.

259
Elijah

Sie könnten einen StringReader verwenden und den Reader mit der Lösung in dieser andere Stackoverflow-Beitrag in einen Eingabestream konvertieren.

36
A_M