String Java ke InputStream

1. Ikhtisar

Dalam tutorial singkat ini, kita akan melihat bagaimana mengubah String standar menjadi InputStream menggunakan Java biasa, Guava dan pustaka Apache Commons IO.

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

2. Konversi Dengan Java Biasa

Mari kita mulai dengan contoh sederhana menggunakan Java untuk melakukan konversi - menggunakan array byte perantara :

@Test public void givenUsingPlainJava_whenConvertingStringToInputStream_thenCorrect() throws IOException { String initialString = "text"; InputStream targetStream = new ByteArrayInputStream(initialString.getBytes()); }

Perhatikan bahwa metode getBytes () mengenkode String ini menggunakan charset default platform sehingga untuk menghindari perilaku yang tidak diinginkan, Anda dapat menggunakan getBytes (Charset charset) dan mengontrol proses encoding .

3. Konversi Dengan Jambu Biji

Guava tidak menyediakan metode konversi langsung, tetapi memungkinkan kita mengeluarkan Pembaca dari String - pada titik mana, mendapatkan InputStream itu mudah:

@Test public void givenUsingGuava_whenConvertingStringToInputStream_thenCorrect() throws IOException { String initialString = "text"; InputStream targetStream = new ReaderInputStream(CharSource.wrap(initialString).openStream()); }

4. Konversi With Commons IO

Terakhir, pustaka Apache Commons IO menyediakan solusi langsung yang sangat baik:

@Test public void givenUsingCommonsIO_whenConvertingStringToInputStream_thenCorrect() throws IOException { String initialString = "text"; InputStream targetStream = IOUtils.toInputStream(initialString); }

Terakhir - perhatikan bahwa kami membiarkan input stream terbuka dalam contoh ini - jangan lupa untuk menutupnya setelah selesai .

Itu saja - tiga cara sederhana dan ringkas untuk mendapatkan InputStream dari String sederhana.