Rentetan Java ke InputStream

1. Gambaran keseluruhan

Dalam tutorial ringkas ini, kita akan melihat cara mengubah String standard ke InputStream menggunakan perpustakaan Java, Guava dan Apache Commons IO biasa.

Artikel ini adalah sebahagian daripada siri "Java - Back to Basic" di Baeldung.

2. Tukarkan Dengan Java Plain

Mari kita mulakan dengan contoh mudah menggunakan Java untuk melakukan penukaran - menggunakan susunan bait perantara :

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

Perhatikan bahawa kaedah getBytes () menyandi String ini menggunakan charset lalai platform sehingga untuk mengelakkan tingkah laku yang tidak diingini, anda boleh menggunakan getBytes (Charset charset) dan mengawal proses pengekodan .

3. Tukarkan Dengan Jambu Batu

Jambu batu tidak menyediakan kaedah penukaran langsung, tetapi memungkinkan kita mengeluarkan Pembaca dari Rentetan - pada ketika itu, mendapatkan InputStream itu mudah:

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

4. Tukar Dengan Commons IO

Akhirnya, perpustakaan Apache Commons IO menyediakan penyelesaian langsung yang sangat baik:

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

Akhirnya - ingat bahawa kami membiarkan aliran input terbuka dalam contoh ini - jangan lupa menutupnya apabila anda selesai .

Itu sahaja - tiga cara mudah dan ringkas untuk mengeluarkan InputStream daripada Rentetan mudah.