このクイックチュートリアルでは、単純なJava、Guava、そして最後にApache Commons IOライブラリを使って、単純な

バイト配列を

Reader


に変換します。

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


1普通のJava

とは

単純なJavaの例から始めましょう。中間のStringを介して変換を行います。

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

別のアプローチは

InputStreamReader



ByteArrayInputStream

を利用することです。

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


2グアバ

とは

次に、中間のStringを使用して、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

ユーティリティは直接変換を許可していないため、中間のString表現を使用する必要があります。


3 Apache Commons IO

を使う

同様に – Commons IOは中間の文字列表現を使って

byte[]

をReaderに変換する

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

バイト配列をJava Readerに変換する3つの簡単な方法があります。