Skip to content
Related Articles

Related Articles

Improve Article
Save Article
Like Article

Java Program to Convert String to InputStream

  • Last Updated : 12 Jun, 2021

Given a string, the task is to convert the string to InputStream which is shown in the below illustrations.

Illustration:

Attention reader! Don’t stop learning now. Get hold of all the important Java Foundation and Collections concepts with the Fundamentals of Java and Java Collections Course at a student-friendly price and become industry ready. To complete your preparation from learning a language to DS Algo and many more,  please refer Complete Interview Preparation Course.

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:

  1. Get the bytes of the String.
  2. Create a new ByteArrayInputStream using the bytes of the String
  3. Assign the ByteArrayInputStream object to an InputStream variable.
  4. Buffer contains bytes that read from the stream.
  5. Print the InputStream.

Example:

Java




// 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
String : Geeks for Geeks
Input stream : Geeks for Geeks

 




My Personal Notes arrow_drop_up
Recommended Articles
Page :