このクイックチュートリアルでは、プレーンなJava、Guava、そして最後にApache Commons IOライブラリを使用して、単純なバイト配列をReaderに変換します。

この記事は、ここBaeldungの「Java –BacktoBasic」シリーズの一部です。

1. プレーンJavaを使用

簡単なJavaの例から始めましょう。中間の文字列を介して、変換を実行します。

@Test
public void givenUsingPlainJava_whenConvertingByteArrayIntoReader_thenCorrect() 
  throws IOException {
    byte[] initialArray = "With Java".getBytes();
    Reader targetReader = new StringReader(new String(initialArray));
    targetReader.close();
}

別のアプローチは、InputStreamReaderByteArrayInputStreamを利用することです。

@Test
public void givenUsingPlainJava2_whenConvertingByteArrayIntoReader_thenCorrect() 
  throws IOException {
    byte[] initialArray = "Hello world!".getBytes();
    Reader targetReader = new InputStreamReader(new ByteArrayInputStream(initialArray));
    targetReader.close();
}

2. グアバと

次へ–これも中間文字列を使用してGuavaソリューションを見てみましょう。

@Test
public void givenUsingGuava_whenConvertingByteArrayIntoReader_thenCorrect() 
  throws IOException {
    byte[] initialArray = "With Guava".getBytes();
    String bufferString = new String(initialArray);
    Reader targetReader = CharSource.wrap(bufferString).openStream();
    targetReader.close();
}

残念ながら、Guava ByteSource ユーティリティでは直接変換が許可されていないため、中間の文字列表現を使用する必要があります。

3. ApacheCommonsIOを使用

同様に– Commons IOも中間文字列表現を使用して、 byte[]をリーダーに変換します。

@Test
public void givenUsingCommonsIO_whenConvertingByteArrayIntoReader_thenCorrect() 
  throws IOException {
    byte[] initialArray = "With Commons IO".getBytes();
    Reader targetReader = new CharSequenceReader(new String(initialArray));
    targetReader.close();
}

これで、バイト配列をJavaリーダー変換する3つの簡単な方法ができました。 GitHubでサンプルを確認してください。