Given a string, the task is to convert the string to InputStream which is shown in the below illustrations.
Illustration:
Input : String : "Geeks for Geeks" Output : Input Stream : Geeks for Geeks Input : String : "A computer science portal" Output : Input stream : A computer science portal
In order to reach the goal, we need to use ByteArrayInputStream. So let us discuss how it’s done?
We can convert a String to an InputStream object by using the ByteArrayInputStream class. The ByteArrayInputStream is a subclass present in InputStream class. In ByteArrayInputStream there is an internal buffer present that contains bytes that reads from the stream.
Approach:
Example:
// Java Program to Convert String to InputStream // Using ByteArrayInputStream // Importing required libraries import java.io.*; 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; // Main class public class GFG { // main driver method public static void main(String[] args) throws IOException { // Custom inout string as an input String string = "Geeks for Geeks"; // Printing the above string System.out.print("String : " + string); // Now, using ByteArrayInputStream to // get the bytes of the string, and // converting them to InputStream InputStream stream = new ByteArrayInputStream(string.getBytes (Charset.forName("UTF-8"))); // Creating an object of BufferedReader class to // take input BufferedReader br = new BufferedReader(new InputStreamReader(stream)); // Printing the input stream // using rreadLine() method String str = br.readLine(); System.out.print("\nInput stream : "); // If string is not NULL while (str != null) { // Keep taking input System.out.println(str); str = br.readLine(); } } }
Output