Java String zu InputStream

1. Übersicht

In diesem kurzen Tutorial erfahren Sie, wie Sie einen Standard-String mit einfachem Java, Guava und der Apache Commons IO-Bibliothek in einen InputStream konvertieren .

Dieser Artikel ist Teil der Reihe „Java - Back to Basic“ hier auf Baeldung.

2. Konvertieren Sie mit Plain Java

Beginnen wir mit einem einfachen Beispiel mit Hilfe von Java starten die Konvertierung zu tun - einen Vermittler mit Byte - Array:

@Test public void givenUsingPlainJava_whenConvertingStringToInputStream_thenCorrect() throws IOException { String initialString = "text"; InputStream targetStream = new ByteArrayInputStream(initialString.getBytes()); }

Beachten Sie, dass die getBytes () -Methode diesen String mit dem Standardzeichensatz der Plattform codiert. Um unerwünschtes Verhalten zu vermeiden, können Sie getBytes (Zeichensatz-Zeichensatz) verwenden und den Codierungsprozess steuern .

3. Mit Guave konvertieren

Guava bietet keine direkte Konvertierungsmethode, ermöglicht es uns jedoch, einen Reader aus dem String herauszuholen. An diesem Punkt ist es einfach , den InputStream zu erhalten :

@Test public void givenUsingGuava_whenConvertingStringToInputStream_thenCorrect() throws IOException { String initialString = "text"; InputStream targetStream = new ReaderInputStream(CharSource.wrap(initialString).openStream()); }

4. Mit Commons IO konvertieren

Schließlich bietet die Apache Commons IO-Bibliothek eine hervorragende direkte Lösung:

@Test public void givenUsingCommonsIO_whenConvertingStringToInputStream_thenCorrect() throws IOException { String initialString = "text"; InputStream targetStream = IOUtils.toInputStream(initialString); }

Schließlich - beachten Sie, dass wir den Eingabestream in diesen Beispielen offen lassen - vergessen Sie nicht, ihn zu schließen, wenn Sie fertig sind .

Das war's - drei einfache und prägnante Möglichkeiten, einen InputStream aus einem einfachen String herauszuholen.