Comment puis-je convertir une chaîne à un InputStream en Java? [dupliquer]
-
13-09-2019 - |
Question
Cette question a déjà une réponse ici:
d'une chaîne:
String exampleString = "example";
Comment puis-je convertir en un InputStream
?
La solution
Comme ceci:
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é comme UTF-8 .
Pour les versions de Java à moins de 7, remplacez StandardCharsets.UTF_8
par "UTF-8"
.
Autres conseils
Je trouve que l'utilisation Apache Commons IO rend ma vie beaucoup plus facile.
String source = "This is the source of my input stream";
InputStream in = org.apache.commons.io.IOUtils.toInputStream(source, "UTF-8");
Vous trouverez peut-être que la bibliothèque offre également de nombreux autres raccourcis vers des tâches courantes fait que vous pourriez être en mesure d'utiliser dans votre projet.
Vous pouvez utiliser un StringReader convertir le lecteur à un flux d'entrée en utilisant la solution en cette autre post stackoverflow.