Как преобразовать String в InputStream в Java?

С учетом строки:

String exampleString = "example";

Как преобразовать его в InputStream?

Ответ 1

Как это:

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

Обратите внимание, что это предполагает, что вы хотите, чтобы InputStream представлял собой поток байтов, представляющий исходную строку, кодированную как UTF-8.

Для версий Java меньше 7 замените StandardCharsets.UTF_8 на "UTF-8".

Ответ 2

Я считаю, что использование Apache Commons IO облегчает мою жизнь.

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

Вы можете обнаружить, что библиотека также предлагает множество других ярлыков для обычно выполняемых задач, которые вы можете использовать в своем проекте.

Ответ 3

Вы можете использовать StringReader и преобразовать считыватель во входной поток, используя решение в fooobar.com/info/13135/....