Java-streng til InputStream

1. Oversikt

I denne raske opplæringen skal vi se på hvordan du gjør det konvertere en standard streng til en InputStreamved hjelp av vanlig Java, Guava og Apache Commons IO-biblioteket.

Denne artikkelen er en del av "Java - Back to Basic" -serien her på Baeldung.

2. Konverter med vanlig Java

La oss starte med et enkelt eksempel som bruker Java til å gjøre konverteringen - ved hjelp av en mellommann byte matrise:

@Test offentlig ugyldighet givenUsingPlainJava_whenConvertingStringToInputStream_thenCorrect () kaster IOException {String initialString = "text"; InputStream targetStream = ny ByteArrayInputStream (initialString.getBytes ()); }

Merk at getBytes () metode koder dette String ved å bruke plattformens standardtegnsett for å unngå uønsket oppførsel du kan bruke getBytes (Charset charset) og kontrollere kodingsprosessen.

3. Konverter med guava

Guava gir ikke en direkte konverteringsmetode, men tillater oss å få en Leser ut av strengen - på hvilket tidspunkt å skaffe InputStream det er lett:

@Test offentlig ugyldighet givenUsingGuava_whenConvertingStringToInputStream_thenCorrect () kaster IOException {String initialString = "text"; InputStream targetStream = ny ReaderInputStream (CharSource.wrap (initialString) .openStream ()); }

4. Konverter med Commons IO

Til slutt gir Apache Commons IO-biblioteket en utmerket direkte løsning:

@Test offentlig ugyldig givenUsingCommonsIO_whenConvertingStringToInputStream_thenCorrect () kaster IOException {String initialString = "text"; InputStream targetStream = IOUtils.toInputStream (initialString); }

Til slutt - vær oppmerksom på at vi lar inngangsstrømmen være åpen i disse eksemplene - ikke glem å lukk det når du er ferdig.

Det er det - tre enkle og konsise måter å få en InputStream ut av en enkel streng.


$config[zx-auto] not found$config[zx-overlay] not found