Ваше мнение важно для нас.
Поделитесь своими предоложениями и пожеланиями.

Как в java прочитать все содержимое InputStream в строку?


Собственно у меня есть объект типа java.io.InputStream я хочу сделать строку со всеми данными содержащимися в этом стриме. Как это проще всего сделать?
3

Ответы

0
Ссылка
Можно так:


 String read(InputStream in, String encoding) throws IOException {
ByteArrayOutputStream out = new ByteArrayOutputStream();
byte[] buffer = new byte[1024];
int length = 0;
while ((length = in.read(buffer)) != -1) {
out .write(buffer, 0, length);
}
return new String(out.toByteArray(), encoding);
}
0
Ссылка
С помощью Apache commons IOUtils можно сделать это значительно проще:
StringWriter sw = new StringWriter();
IOUtils.copy(is, sw, encoding);
String result = sw.toString();
0
Ссылка
C Apache Commons можно еще проще:
String result = IOUtils.toString(input, encoding);
0
Ссылка
Можно проще, и тоже в рамках стандартных библиотек java:
static String convertStreamToString(InputStream inputStream) {
Scanner scanner = new Scanner(inputStream).useDelimiter("\\A");
return scanner.hasNext() ? scanner.next() : "";
}
Для того, чтоб отвечать на вопросы или зарегистрируйтесь.
ИТ-цитата
"Если программистский проект не укладывается в сроки, то добавление рабочей силы только задержит его окончание."
Фредерик Брукс младший