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.