Java String naar InputStream

1. Overzicht

In deze korte tutorial gaan we kijken hoe converteer een standaard String naar een InputStreammet behulp van gewone Java, Guava en de Apache Commons IO-bibliotheek.

Dit artikel maakt deel uit van de serie "Java - Back to Basic" hier op Baeldung.

2. Converteren met gewone Java

Laten we beginnen met een eenvoudig voorbeeld waarbij Java wordt gebruikt om de conversie uit te voeren - met behulp van een tussenpersoon byte matrix:

@Test openbare leegte gegevenUsingPlainJava_whenConvertingStringToInputStream_thenCorrect () gooit IOException {String initialString = "text"; InputStream targetStream = nieuwe ByteArrayInputStream (initialString.getBytes ()); }

Merk op dat de getBytes () methode codeert dit Draad de standaard tekenset van het platform gebruiken om ongewenst gedrag te voorkomen dat u kunt gebruiken getBytes (Charset charset) en controle over het coderingsproces.

3. Converteren met guave

Guava biedt geen directe conversiemethode, maar stelt ons wel in staat om een Lezer out of the String - op dat moment verkrijgt u de InputStream is makkelijk:

@Test openbare leegte gegevenUsingGuava_whenConvertingStringToInputStream_thenCorrect () gooit IOException {String initialString = "text"; InputStream targetStream = nieuwe ReaderInputStream (CharSource.wrap (initialString) .openStream ()); }

4. Converteren met Commons IO

Ten slotte biedt de Apache Commons IO-bibliotheek een uitstekende directe oplossing:

@Test openbare ongeldige gegevenUsingCommonsIO_whenConvertingStringToInputStream_thenCorrect () gooit IOException {String initialString = "text"; InputStream targetStream = IOUtils.toInputStream (initialString); }

Tot slot - houd er rekening mee dat we de invoerstroom in deze voorbeelden open laten - vergeet dit niet sluit het als u klaar bent.

Dat is alles - drie eenvoudige en beknopte manieren om een InputStream uit een simpele String.