Java–バイト配列からライター
1. 概要
この非常に簡単なチュートリアルでは、プレーンなJava、Guava、およびCommonsIOを使用してbyte[]をWriterに変換する方法について説明します。
2. プレーンJavaを使用
簡単なJavaソリューションから始めましょう。
@Test
public void givenPlainJava_whenConvertingByteArrayIntoWriter_thenCorrect()
throws IOException {
byte[] initialArray = "With Java".getBytes();
Writer targetWriter = new StringWriter().append(new String(initialArray));
targetWriter.close();
assertEquals("With Java", targetWriter.toString());
}
byte[]を中間のStringを介してWriterに変換したことに注意してください。
3. グアバと
次へ–Guavaを使用したより複雑なソリューションを見てみましょう。
@Test
public void givenUsingGuava_whenConvertingByteArrayIntoWriter_thenCorrect()
throws IOException {
byte[] initialArray = "With Guava".getBytes();
String buffer = new String(initialArray);
StringWriter stringWriter = new StringWriter();
CharSink charSink = new CharSink() {
@Override
public Writer openStream() throws IOException {
return stringWriter;
}
};
charSink.write(buffer);
stringWriter.close();
assertEquals("With Guava", stringWriter.toString());
}
ここでは、 CharSink を使用して、 byte[]をWriterに変換したことに注意してください。
4. CommonsIOを使用
最後に、CommonsIOソリューションを確認しましょう。
@Test
public void givenUsingCommonsIO_whenConvertingByteArrayIntoWriter_thenCorrect()
throws IOException {
byte[] initialArray = "With Commons IO".getBytes();
Writer targetWriter = new StringBuilderWriter(
new StringBuilder(new String(initialArray)));
targetWriter.close();
assertEquals("With Commons IO", targetWriter.toString());
}
注: StringBuilder を使用して、 byte[]をStringBuilderWriterに変換しました。
5. 結論
この短くて要点のチュートリアルでは、 byte[]をWriterに変換する3つの異なる方法を説明しました。
この記事のコードは、GitHubリポジトリで入手できます。