Java - InputStream ke Pembaca

Dalam tutorial singkat ini kita akan melihat cara mengubah InputStream menjadi Reader menggunakan Java, kemudian Guava dan terakhir Apache Commons IO.

Artikel ini adalah bagian dari seri “ Java - Kembali ke Dasar ” di Baeldung.

1. Dengan Java

Pertama, mari kita lihat solusi Java sederhana - menggunakan InputStreamReader yang sudah tersedia :

@Test public void givenUsingPlainJava_whenConvertingInputStreamIntoReader_thenCorrect() throws IOException { InputStream initialStream = new ByteArrayInputStream("With Java".getBytes()); Reader targetReader = new InputStreamReader(initialStream); targetReader.close(); }

2. Dengan Jambu Biji

Selanjutnya - mari kita lihat solusi Guava - menggunakan array byte perantara dan String:

@Test public void givenUsingGuava_whenConvertingInputStreamIntoReader_thenCorrect() throws IOException { InputStream initialStream = ByteSource.wrap("With Guava".getBytes()).openStream(); byte[] buffer = ByteStreams.toByteArray(initialStream); Reader targetReader = CharSource.wrap(new String(buffer)).openStream(); targetReader.close(); }

Perhatikan bahwa solusi Java lebih sederhana daripada pendekatan ini.

3. Dengan Commons IO

Akhirnya - solusi menggunakan Apache Commons IO - juga menggunakan String perantara:

@Test public void givenUsingCommonsIO_whenConvertingInputStreamIntoReader_thenCorrect() throws IOException { InputStream initialStream = IOUtils.toInputStream("With Commons IO"); byte[] buffer = IOUtils.toByteArray(initialStream); Reader targetReader = new CharSequenceReader(new String(buffer)); targetReader.close(); }

Dan begitulah - 3 cara cepat untuk mengubah aliran input ke Java Reader . Pastikan untuk memeriksa sampel di GitHub.