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.