Java - InputStream to Reader

I denne raske opplæringen skal vi ta en titt på konvertere en InputStream til en Leser bruker Java, deretter Guava og til slutt Apache Commons IO.

Denne artikkelen er en del avJava - Tilbake til Basic”-Serien her på Baeldung.

1. Med Java

La oss først se på den enkle Java-løsningen - ved å bruke den lett tilgjengelige InputStreamReader:

@Test offentlig ugyldighet givenUsingPlainJava_whenConvertingInputStreamIntoReader_thenCorrect () kaster IOException {InputStream initialStream = ny ByteArrayInputStream ("Med Java" .getBytes ()); Reader targetReader = ny InputStreamReader (initialStream); targetReader.close (); }

2. Med Guava

Neste - la oss ta en titt på Guava-løsningen - ved hjelp av et mellomliggende byte-array og String:

@Test offentlig ugyldighet givenUsingGuava_whenConvertingInputStreamIntoReader_thenCorrect () kaster IOException {InputStream initialStream = ByteSource.wrap ("With Guava" .getBytes ()). OpenStream (); byte [] buffer = ByteStreams.toByteArray (initialStream); Leser targetReader = CharSource.wrap (ny streng (buffer)). OpenStream (); targetReader.close (); }

Merk at Java-løsningen er enklere enn denne tilnærmingen.

3. Med Commons IO

Til slutt - løsningen ved hjelp av Apache Commons IO - også ved hjelp av en mellomledd streng:

@Test offentlig ugyldighet givenUsingCommonsIO_whenConvertingInputStreamIntoReader_thenCorrect () kaster IOException {InputStream initialStream = IOUtils.toInputStream ("With Commons IO"); byte [] buffer = IOUtils.toByteArray (initialStream); Reader targetReader = ny CharSequenceReader (ny streng (buffer)); targetReader.close (); }

Og der har du det - 3 raske måter å konvertere inngangsstrømmen til en Java Leser. Sørg for å sjekke ut prøven på GitHub.