Come faccio a convertire una stringa in un InputStream in Java? [duplicare]
-
13-09-2019 - |
Domanda
Questa domanda ha già una risposta qui:
Data una stringa:
String exampleString = "example";
Come faccio a convertirlo in un InputStream
?
Soluzione
In questo modo:
InputStream stream = new ByteArrayInputStream(exampleString.getBytes(StandardCharsets.UTF_8));
Si noti che questo presuppone che si desidera un InputStream che è un flusso di byte che rappresentano la stringa originale codificato come UTF-8 .
Per le versioni di Java inferiore a 7, sostituire StandardCharsets.UTF_8
con "UTF-8"
.
Altri suggerimenti
Trovo che l'utilizzo di Apache Commons IO rende la vita molto più facile.
String source = "This is the source of my input stream";
InputStream in = org.apache.commons.io.IOUtils.toInputStream(source, "UTF-8");
È possibile che la biblioteca offrono anche molte altre scorciatoie per le attività che si può essere in grado di utilizzare nel progetto fatto comunemente.
È possibile utilizzare un StringReader convertire il lettore a un flusso di input utilizzando la soluzione in questo altro StackOverflow messaggio .