Java - InputStream til Reader

I denne hurtige vejledning skal vi se på konvertere en InputStream til en Læser ved hjælp af Java, derefter Guava og endelig Apache Commons IO.

Denne artikel er en del af "Java - Tilbage til Basic”-Serien her på Baeldung.

1. Med Java

Lad os først se på den enkle Java-løsning - ved hjælp af den let tilgængelige InputStreamReader:

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

2. Med Guava

Næste - lad os se på Guava-løsningen - ved hjælp af et mellemliggende byte-array og String:

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

Bemærk, at Java-løsningen er enklere end denne tilgang.

3. Med Commons IO

Endelig - løsningen ved hjælp af Apache Commons IO - også ved hjælp af en mellemliggende streng:

@Test offentlig ugyldighed 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 hurtige måder at konvertere inputstrømmen til en Java Læser. Sørg for at tjekke prøven på GitHub.