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.