Java >> Java tutorial >  >> Tag >> byte

Java – Byte Array til Reader

I denne hurtige selvstudie skal vi konvertere en simpel byte-array til en Reader ved at bruge almindelig Java, Guava og endelig Apache Commons IO-biblioteket.

Denne artikel er en del af "Java - Back to Basic"-serien her på Baeldung.

1. Med almindelig Java

Lad os starte med det simple Java-eksempel, hvor konverteringen udføres via en mellemliggende streng:

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

En alternativ fremgangsmåde ville være at gøre brug af en InputStreamReader og en ByteArrayInputStream :

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

2. Med Guava

Dernæst – lad os tage et kig på Guava-løsningen, også ved hjælp af en mellemliggende streng:

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

Desværre Guava ByteSource værktøjet tillader ikke en direkte konvertering, så vi skal stadig bruge den mellemliggende strengrepræsentation.

3. Med Apache Commons IO

Tilsvarende – Commons IO bruger også en mellemliggende strengrepræsentation til at konvertere byten[] til en læser:

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

Og der har vi det – 3 enkle måder at konvertere byte-arrayet til en Java Reader . Sørg for at tjekke eksemplet på GitHub.


Java tag