Skip to content
Related Articles

Related Articles

Java Program to Convert String to InputStream

Improve Article
Save Article
  • Last Updated : 12 Jun, 2021
Improve Article
Save Article

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:

  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
Related Articles

Start Your Coding Journey Now!