给定一个字符串,任务是将字符串转换为 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 中存在一个内部缓冲区,其中包含从流中读取的字节。
方法:
- 获取字符串的字节。
- 使用 String 的字节创建一个新的 ByteArrayInputStream
- 将 ByteArrayInputStream 对象分配给 InputStream 变量。
- 缓冲区包含从流中读取的字节。
- 打印输入流。
例:
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
相关用法
- Java InputStream转String用法及代码示例
- Java String转Boolean用法及代码示例
- Java Double转String用法及代码示例
- Java String转Long用法及代码示例
- Java Date转String用法及代码示例
注:本文由纯净天空筛选整理自manastole01大神的英文原创作品 Java Program to Convert String to InputStream。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。