Java - リーダーへのバイト配列

Java –リーダーへのバイト配列

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

この記事は、例としてここのthe “Java – Back to Basic” seriesの一部です。

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();
}

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

3. Apache CommonsIOを使用

同様に– 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();
}

そして、それがあります - convert the byte array into a Java Readerへの3つの簡単な方法。