Java-String zu InputStream

Java-String zu InputStream

1. Überblick

In diesem kurzen Tutorial werden wir uns ansehen, wieconvert a standard String to an InputStream mit einfachem Java, Guava und der Apache Commons IO-Bibliothek verwendet werden.

Dieser Artikel ist Teil vonthe “Java – Back to Basic” series hier am Beispiel.

2. Konvertieren Sie mit Plain Java

Beginnen wir mit einem einfachen Beispiel, in dem Java für die Konvertierung verwendet wird - unter Verwendung einesbyte-Zwischenarrays:

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

Beachten Sie, dass diegetBytes()-Methode dieseString mit dem Standardzeichensatz der Plattform codiert. Um unerwünschtes Verhalten zu vermeiden, können SiegetBytes(Charset charset) undcontrol the encoding process verwenden.

3. Mit Guave konvertieren

Guava bietet keine direkte Konvertierungsmethode, ermöglicht es uns jedoch,Reader aus dem String herauszuholen. An diesem Punkt ist es einfach,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,close it when you’re done.

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