Java-streng til InputStream

1. Oversigt

I denne hurtige vejledning skal vi se på, hvordan man gør det konvertere en standardstreng til en InputStreamved hjælp af almindeligt Java, Guava og Apache Commons IO-biblioteket.

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

2. Konverter med almindelig Java

Lad os starte med et simpelt eksempel ved hjælp af Java til at udføre konverteringen - ved hjælp af en mellemmand byte matrix:

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

Bemærk, at getBytes () metode koder dette Snor ved hjælp af platformens standardtegnsæt, så du undgår uønsket adfærd getBytes (Charset-charset) og kontrollere kodningsprocessen.

3. Konverter med guava

Guava giver ikke en direkte konverteringsmetode, men tillader os at få en Læser ud af strengen - på hvilket tidspunkt opnåelse af InputStream det er nemt:

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

4. Konverter med Commons IO

Endelig giver Apache Commons IO-biblioteket en fremragende direkte løsning:

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

Endelig - bemærk at vi lader inputstrømmen være åben i disse eksempler - glem ikke at luk det, når du er færdig.

Det er det - tre enkle og koncise måder at få en på InputStream ud af en simpel streng.