Chaîne Java vers InputStream

1. Vue d'ensemble

Dans ce rapide didacticiel, nous allons voir comment convertir une chaîne standard en InputStream en utilisant Java, Guava et la bibliothèque Apache Commons IO.

Cet article fait partie de la série «Java - Back to Basic» ici sur Baeldung.

2. Convertir avec Java brut

Commençons par un exemple simple utilisant Java pour effectuer la conversion - en utilisant un tableau d' octets intermédiaire :

@Test public void givenUsingPlainJava_whenConvertingStringToInputStream_thenCorrect() throws IOException { String initialString = "text"; InputStream targetStream = new ByteArrayInputStream(initialString.getBytes()); }

Notez que la méthode getBytes () encode cette chaîne en utilisant le jeu de caractères par défaut de la plate-forme afin d'éviter tout comportement indésirable, vous pouvez utiliser getBytes (Charset charset) et contrôler le processus de codage .

3. Convertir avec de la goyave

Guava ne fournit pas de méthode de conversion directe, mais nous permet de sortir un lecteur de la chaîne - à quel point, obtenir le InputStream est facile:

@Test public void givenUsingGuava_whenConvertingStringToInputStream_thenCorrect() throws IOException { String initialString = "text"; InputStream targetStream = new ReaderInputStream(CharSource.wrap(initialString).openStream()); }

4. Convertir avec Commons IO

Enfin, la bibliothèque Apache Commons IO fournit une excellente solution directe:

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

Enfin, notez que nous laissons le flux d'entrée ouvert dans ces exemples, n'oubliez pas de le fermer lorsque vous avez terminé .

Voilà - trois moyens simples et concis pour obtenir un InputStream à partir d'une simple chaîne.