Преобразование строки в InputStream в Java

Научитесь преобразовывать String в InputStream с помощью классов ByteArrayInputStream и IOUtils. Написание String в Steam — частая работа в Java, и наличие пары хороших сокращений окажется полезным.

Информацию о преобразовании InputStream в String читайте в статье по ссылке.

1. Использование ByteArrayInputStream

Использование ByteArrayInputStream — самый простой способ создания InputStream из String. Используя этот подход, нам не нужна никакая внешняя зависимость.

Метод string.getBytes() кодирует строку в последовательность байтов, используя набор символов платформы по умолчанию. Чтобы использовать другой набор символов, используйте метод getBytes​(Charset charset).

Класс StandardCharsets предоставляет определения констант для стандартных наборов символов. Например, StandardCharsets.UTF_8.

String string = "howtodoinjava.com";InputStream instream = new ByteArrayInputStream(string.getBytes());

2. IOUtils Commons IO

IOUtils — очень полезный класс для операций ввода-вывода. Это решение также довольно хорошее, поскольку apache commons — это в основном включенный jar в большинстве приложений.

<dependency><groupId>commons-io</groupId><artifactId>commons-io</artifactId><version>2.11.0</version></dependency>

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

static InputStream toInputStream(String input, Charset encoding)static InputStream toInputStream(String input, String encoding)

Данная программа демонстрирует, как создать InputStream из строки.

String string = "howtodoinjava.com";InputStream inStream = IOUtils.toInputStream(string, StandardCharsets.UTF_8);

Исходный код на Github

Прокрутить вверх