Автор оригинала: Pankaj Kumar.
Сегодня мы рассмотрим, как преобразовать строку в поток ввода в java. Недавно я написал сообщение о преобразовании входного потока в строку .
Строка Java для ввода потока
Есть два способа, которые я использовал для преобразования строки во входной поток.
- Java IO ByteArrayInputStream класс
- Класс 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.