Question Comment puis-je convertir une chaîne en un InputStream en Java? [dupliquer]


Cette question a déjà une réponse ici:

Étant donné une chaîne:

String exampleString = "example";

Comment puis-je le convertir en InputStream?


713


origine


Réponses:


Comme ça:

InputStream stream = new ByteArrayInputStream(exampleString.getBytes(StandardCharsets.UTF_8));

Notez que cela suppose que vous voulez un InputStream qui est un flux d'octets qui représentent votre chaîne d'origine codée comme UTF-8.

Pour les versions de Java inférieures à 7, remplacez StandardCharsets.UTF_8 avec "UTF-8".


1231



Je trouve cela en utilisant Apache Commons IO rend ma vie beaucoup plus facile.

String source = "This is the source of my input stream";
InputStream in = IOUtils.toInputStream(source, "UTF-8");

Vous pouvez constater que la bibliothèque offre également de nombreux autres raccourcis vers des tâches courantes que vous pouvez utiliser dans votre projet.


230



Vous pourriez utiliser un StringReader et convertir le lecteur en un flux d'entrée en utilisant la solution dans cet autre post stackoverflow.


34