Java – Byte Array til Writer
1. Oversigt
I denne meget hurtige selvstudie vil vi diskutere, hvordan man konverterer byte[] til Writer ved at bruge almindelig Java, Guava og Commons IO.
2. Med almindelig Java
Lad os starte med en simpel Java-løsning:
@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());
}
Bemærk, at vi konverterede vores byte[] til en Forfatter gennem en mellemliggende streng .
3. Med Guava
Dernæst – lad os se nærmere på en mere kompleks løsning med 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());
}
Bemærk, at vi her konverterede byten[] til en Forfatter ved at bruge en CharSink .
4. Med Commons IO
Lad os endelig tjekke vores Commons IO-løsning:
@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());
}
Bemærk:Vi konverterede vores byte[] til StringBuilderWriter ved hjælp af en StringBuilder .
5. Konklusion
I denne korte og konkrete vejledning illustrerede vi 3 forskellige måder at konvertere en byte[] på til en Forfatter .
Koden til denne artikel er tilgængelig i GitHub-lageret.