1概要

このクイックチュートリアルでは、プレーンなJava、Guava、およびApache Commons IOライブラリを使用して、標準のStringを

InputStream

** に変換する方法について説明します。

この記事はリンクの一部です:/java-tutorial[The Java – Back to Basic]シリーズ、ここBaeldung。


2プレーンJava

で変換する

Javaを使用して変換を行う簡単な例から始めましょう。中間の

byte

配列を使用します。

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


getBytes()

メソッドはプラットフォームのデフォルトの文字セットを使用してこの

String

をエンコードするので、望ましくない動作を避けるために

getBytes(Charset文字セット)

を使用して** エンコード処理を制御することができます。

** 3グアバ語で変換する

Guavaでは直接の変換方法は提供されていませんが、Stringから

Reader

を取得することはできます – その時点では、

InputStream

を取得するのは簡単です。

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


4 Commons IO

で変換する

最後に、Apache Commons IOライブラリは優れた直接的な解決策を提供します。

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

最後に、これらの例では入力ストリームを開いたままにしていることに注意してください。完了したら** 閉じることを忘れないでください。

それだけです – 単純なStringから

InputStream

を取得するための3つの単純で簡潔な方法。