Рубрики
Без рубрики

Строка Java для ввода потока

Строка Java в поток ввода, Преобразуйте строку в поток ввода в java, Java ByteArrayInputStream, класс ввода-вывода Apache Commons, пример кода CharsetUTF-8.

Автор оригинала: Pankaj Kumar.

Сегодня мы рассмотрим, как преобразовать строку в поток ввода в java. Недавно я написал сообщение о преобразовании входного потока в строку .

Строка Java для ввода потока

Есть два способа, которые я использовал для преобразования строки во входной поток.

  1. Java IO ByteArrayInputStream класс
  2. Класс Apache Commons IO IOUtils

Давайте рассмотрим пример программы для использования этих классов.

Строка Java для ввода потока с помощью ByteArrayInputStream

import java.io.BufferedReader;
import java.io.ByteArrayInputStream;
import java.io.IOException;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.nio.charset.Charset;

public class StringToInputStreamUsingByteArrayInputStream {

	public static void main(String[] args) throws IOException {
		String str = "convert String to Input Stream Example using ByteArrayInputStream";

		// convert using ByteArrayInputStream
		InputStream is = new ByteArrayInputStream(str.getBytes(Charset.forName("UTF-8")));

		// print it to console
		BufferedReader br = new BufferedReader(new InputStreamReader(is));

		String line = br.readLine();

		while (line != null) {
			System.out.println(line);
			line = br.readLine();
		}
	}

}

Строка для ввода потока с помощью IOUtils Apache Commons

import java.io.IOException;
import java.io.InputStream;
import java.nio.charset.Charset;

import org.apache.commons.io.IOUtils;

public class StringToInputStreamUsingIOUtils {

	public static void main(String[] args) throws IOException {
		String str = "Example using Apache Commons IO class IOUtils";

		InputStream stream = IOUtils.toInputStream(str, Charset.forName("UTF-8"));

		stream.close();
	}

}

Вы можете использовать IOUtils , если вы уже используете банки ввода-вывода Apache Commons, в противном случае нет никакой пользы, поскольку внутри он использует класс ByteArrayInputStream. Ниже приведена реализация метода toInputStream из IOUtils исходный код класса.

public static InputStream toInputStream(final String input, final Charset encoding) {
        return new ByteArrayInputStream(input.getBytes(Charsets.toCharset(encoding)));
    }

Это все о преобразовании строки во входной поток на java.