Java - InputStream naar Reader

In deze korte tutorial gaan we kijken naar het omzetten van een InputStream naar een Lezer met behulp van Java, vervolgens Guava en ten slotte Apache Commons IO.

Dit artikel maakt deel uit van de “Java - Terug naar Basic”Serie hier op Baeldung.

1. Met Java

Laten we eerst eens kijken naar de eenvoudige Java-oplossing - met behulp van de direct beschikbare InputStreamReader:

@Test openbare ongeldige gegevenUsingPlainJava_whenConvertingInputStreamIntoReader_thenCorrect () gooit IOException {InputStream initialStream = nieuwe ByteArrayInputStream ("Met Java" .getBytes ()); Reader targetReader = nieuwe InputStreamReader (initialStream); targetReader.close (); }

2. Met Guava

Volgende - laten we eens kijken de Guava-oplossing - met behulp van een tussenliggende byte-array en String:

@Test openbare leegte gegevenUsingGuava_whenConvertingInputStreamIntoReader_thenCorrect () gooit IOException {InputStream initialStream = ByteSource.wrap ("Met Guava" .getBytes ()). OpenStream (); byte [] buffer = ByteStreams.toByteArray (initialStream); Lezer targetReader = CharSource.wrap (nieuwe String (buffer)). OpenStream (); targetReader.close (); }

Merk op dat de Java-oplossing eenvoudiger is dan deze benadering.

3. Met Commons IO

Eindelijk - de oplossing met Apache Commons IO - ook met een tussenliggende string:

@Test openbare leegte gegevenUsingCommonsIO_whenConvertingInputStreamIntoReader_thenCorrect () gooit IOException {InputStream initialStream = IOUtils.toInputStream ("Met Commons IO"); byte [] buffer = IOUtils.toByteArray (initialStream); Reader targetReader = nieuwe CharSequenceReader (nieuwe String (buffer)); targetReader.close (); }

En daar heb je het - 3 snelle manieren om de invoerstroom naar Java te converteren Lezer. Zorg ervoor dat je het voorbeeld bekijkt op GitHub.