Java String do InputStream

1. Prehľad

V tomto rýchlom výučbe sa pozrieme na to, ako na to previesť štandardný reťazec na InputStreampomocou obyčajnej Javy, Guavy a knižnice Apache Commons IO.

Tento článok je súčasťou série „Java - Späť na základné“ tu na Baeldungu.

2. Konvertujte pomocou obyčajnej Javy

Začnime jednoduchým príkladom použitia Java na uskutočnenie konverzie - pomocou sprostredkovateľa bajt pole:

@Test public void givenUsingPlainJava_whenConvertingStringToInputStream_thenCorrect () hodí IOException {String initialString = "text"; InputStream targetStream = nový ByteArrayInputStream (initialString.getBytes ()); }

Všimnite si, že getBytes () metóda to kóduje String pomocou predvolenej znakovej sady platformy, aby ste sa vyhli nežiaducemu správaniu, ktoré môžete používať getBytes (znaková sada Charset) a riadiť proces kódovania.

3. Konvertujte pomocou Guavy

Guava neposkytuje metódu priamej konverzie, ale umožňuje nám získať a Čitateľ z reťazca - v tom okamihu získanie InputStream je ľahké:

@Test public void givenUsingGuava_whenConvertingStringToInputStream_thenCorrect () hodí IOException {String initialString = "text"; InputStream targetStream = nový ReaderInputStream (CharSource.wrap (initialString) .openStream ()); }

4. Prevod s Commons IO

Knižnica Apache Commons IO poskytuje vynikajúce priame riešenie:

@Test public void givenUsingCommonsIO_whenConvertingStringToInputStream_thenCorrect () vyvolá IOException {String initialString = "text"; InputStream targetStream = IOUtils.toInputStream (initialString); }

Na záver - nezabudnite, že v týchto príkladoch nechávame vstupný prúd otvorený - nezabudnite po dokončení ho zatvorte.

To je všetko - tri jednoduché a stručné spôsoby, ako získať InputStream z jednoduchého reťazca.


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