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.