Java niz u InputStream

1. Pregled

U ovom brzom vodiču pogledati ćemo kako pretvoriti standardni String u InputStreamkoristeći običnu Javu, Guavu i Apache Commons IO knjižnicu.

Ovaj je članak dio serije "Java - Povratak na osnovno" ovdje na Baeldungu.

2. Pretvori s običnom Java

Počnimo s jednostavnim primjerom korištenja Jave za pretvorbu - pomoću posrednika bajt niz:

@Test javna praznina givenUsingPlainJava_whenConvertingStringToInputStream_thenCorrect () baca IOException {String InitialString = "text"; InputStream targetStream = novi ByteArrayInputStream (InitialString.getBytes ()); }

Imajte na umu da getBytes () metoda to kodira Niz koristeći zadani skup znakova platforme kako biste izbjegli neželjeno ponašanje koje možete koristiti getBytes (charset charset) i kontrolirati postupak kodiranja.

3. Pretvorite s Guavom

Guava ne nudi izravnu metodu pretvorbe, ali nam omogućuje da dobijemo Čitač izvan niza - u tom trenutku, dobivanje InputStream je lako:

@Test javna praznina givenUsingGuava_whenConvertingStringToInputStream_thenCorrect () baca IOException {String InitialString = "text"; InputStream targetStream = novi ReaderInputStream (CharSource.wrap (InitialString) .openStream ()); }

4. Pretvori s Commons IO

Napokon, Apache Commons IO knjižnica nudi izvrsno izravno rješenje:

@Test javna praznina givenUsingCommonsIO_whenConvertingStringToInputStream_thenCorrect () baca IOException {String InitialString = "text"; InputStream targetStream = IOUtils.toInputStream (InitialString); }

Na kraju - imajte na umu da u ovim primjerima ostavljamo otvoren ulazni tok - ne zaboravite zatvorite kad završite.

To je to - tri jednostavna i jezgrovita načina za dobivanje InputStream iz jednostavnog Stringa.