Étant donné une chaîne:
String exampleString = "example";
Comment puis-je le convertir en un InputStream
?
Comme ça:
InputStream stream = new ByteArrayInputStream(exampleString.getBytes(StandardCharsets.UTF_8));
Notez que cela suppose que vous souhaitiez un InputStream qui est un flux d'octets qui représente votre chaîne d'origine codée comme TF-8.
Pour les versions de Java inférieures à 7, remplacez StandardCharsets.UTF_8
par "UTF-8"
.
Je trouve que l'utilisation de Apache Commons IO me rend la 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 constaterez peut-être que la bibliothèque propose également de nombreux autres raccourcis vers les tâches courantes que vous pourrez peut-être utiliser dans votre projet.
Vous pouvez utiliser un StringReader et convertir le lecteur en un flux d'entrée en utilisant la solution dans cet autre message de stackoverflow .