barbitoff programmer`s blog

Здесь я публикую заметки из программерской жизни: грабли, на которые мне случилось наступить, проблемы, для которых было найдено элегантное (или не очень) решение, а также все, с чем мне пришлось столкнуться и чем хотелось бы поделиться =)
PS Если хотите меня поблагодарить - на странице есть 3 места, чтобы это сделать =)

четверг, 29 марта 2012 г.

Java: InputStream в String и обратно

Начну с простого: как представить строку в виде InputStream:
InputStream is= new ByteArrayInputStream(str.getBytes(Charset.forName(strCharset)));
Здесь  str - исходная строка, strCharset - кодировка, с использованием которой символы строки будут лежать в InputStream, ну и is -  результирующий поток.
Для обратного преобразования вариантов много, один из них - читать символы в цикле, пока не кончится поток. Но можно сделать это короче, с помощью Apache Commons IO:
StringWriter writer = new StringWriter();
IOUtils.copy(is, writer, strCharset);
String str= writer.toString();

Комментариев нет:

Отправить комментарий