Domanda

    

Questa domanda ha già una risposta qui:

         

Data una stringa:

String exampleString = "example";

Come faccio a convertirlo in un InputStream?

È stato utile?

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 .

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top