📜  将字符串转换为 InputStream 的Java程序

📅  最后修改于: 2022-05-13 01:55:19.928000             🧑  作者: Mango

将字符串转换为 InputStream 的Java程序

给定一个字符串任务是将字符串转换为 InputStream,如下图所示。

插图:

Input  : String : "Geeks for Geeks"
Output : Input Stream : Geeks for Geeks 
Input  : String : "A computer science portal"
Output : Input stream :  A computer science portal 

为了达到目标,我们需要使用 ByteArrayInputStream。那么让我们讨论一下它是如何完成的?

我们可以使用 ByteArrayInputStream 类将 String 转换为 InputStream 对象。 ByteArrayInputStream 是 InputStream 类中的一个子类。在 ByteArrayInputStream 中有一个内部缓冲区,其中包含从流中读取的字节。

方法:

  1. 获取字符串的字节。
  2. 使用字符串的字节创建一个新的 ByteArrayInputStream
  3. 将 ByteArrayInputStream 对象分配给 InputStream 变量。
  4. 缓冲区包含从流中读取的字节。
  5. 打印输入流。

例子:

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();
        }
    }
}



输出
String : Geeks for Geeks
Input stream : Geeks for Geeks