Java String към InputStream

1. Общ преглед

В този бърз урок ще разгледаме как да конвертираме стандартен String в InputStream, използвайки обикновена Java, Guava и Apache Commons IO библиотека.

Тази статия е част от поредицата „Java - Back to Basic“ тук на Baeldung.

2. Конвертиране с обикновена Java

Нека започнем с прост пример, използващ Java за извършване на преобразуването - с помощта на междинен байтов масив:

@Test public void givenUsingPlainJava_whenConvertingStringToInputStream_thenCorrect() throws IOException { String initialString = "text"; InputStream targetStream = new ByteArrayInputStream(initialString.getBytes()); }

Обърнете внимание, че методът getBytes () кодира този низ, използвайки стандартния набор от символи на платформата, така че за да избегнете нежелано поведение, можете да използвате getBytes (Charset charset) и да контролирате процеса на кодиране .

3. Конвертирайте с гуава

Guava не предоставя метод за директно преобразуване, но ни позволява да извадим Reader от низа - в този момент получаването на InputStream е лесно:

@Test public void givenUsingGuava_whenConvertingStringToInputStream_thenCorrect() throws IOException { String initialString = "text"; InputStream targetStream = new ReaderInputStream(CharSource.wrap(initialString).openStream()); }

4. Конвертиране с Commons IO

И накрая, библиотеката Apache Commons IO предлага отлично директно решение:

@Test public void givenUsingCommonsIO_whenConvertingStringToInputStream_thenCorrect() throws IOException { String initialString = "text"; InputStream targetStream = IOUtils.toInputStream(initialString); }

И накрая - забележете, че оставяме входния поток отворен в тези примери - не забравяйте да го затворите, когато сте готови .

Това е - три прости и кратки начина да извлечете InputStream от прост низ.