Как превратить String в InputStreamReader в java?

Как преобразовать значение String в InputStreamReader?

228
29 окт. '08 в 18:06
источник поделиться
6 ответов

ByteArrayInputStream также выполняет трюк:

InputStream is = new ByteArrayInputStream( myString.getBytes( charset ) );
268
29 окт. '08 в 18:12
источник

Связанные вопросы


Похожие вопросы

Я также нашел класс apache сообщества IOUtils, поэтому:

InputStreamReader isr = new InputStreamReader(IOUtils.toInputStream(myString));
58
29 окт. '08 в 18:52
источник

Должен ли он быть специально InputStreamReader? Как насчет использования StringReader?

В противном случае вы можете использовать StringBufferInputStream, но он устарел из-за проблем с преобразованием символов (поэтому вы должны предпочесть StringReader).

30
29 окт. '08 в 18:08
источник

Тот же вопрос, что и @Dan - почему бы не StringReader?

Если это должен быть InputStreamReader, то:

String charset = ...; // your charset
byte[] bytes = string.getBytes(charset);
ByteArrayInputStream bais = new ByteArrayInputStream(bytes);
InputStreamReader isr = new InputStreamReader(bais);
16
29 окт. '08 в 18:13
источник

Вы пытаетесь получить a) Reader функциональность из InputStreamReader или b) InputStream функциональности из InputStreamReader? Вы не получите b). InputStreamReader не является InputStream.

Цель InputStreamReader - взять InputStream - источник байтов - и декодировать байты в символы в форме Reader. У вас уже есть ваши данные в виде символов (исходная строка). Кодирование вашей строки в байтах и ​​декодирование байтов обратно к символам будет избыточной операцией.

Если вы пытаетесь получить Reader из своего источника, используйте StringReader.

Если вы пытаетесь получить InputStream (который дает только байты), используйте apache commons IOUtils.toInputStream(..), как предложено здесь другими ответами.

2
12 янв. '15 в 20:21
источник

Вы можете попробовать Cactoos:

InputStream stream = new InputStreamOf(str);

Затем, если вам нужен Reader:

Reader reader = new ReaderOf(stream);
1
27 авг. '17 в 15:56
источник

Посмотрите другие вопросы по меткам или Задайте вопрос