将输出流转换为字符串的Java程序
OutputStream 是一个抽象类,在Java.io 包中可用。因为它是一个抽象类,为了使用它的功能,我们可以使用它的子类。一些子类是 FileOutputStream、ByteArrayOutputStream、ObjectOutputStream 等。而 String 只不过是一个字符序列,使用双引号来表示它。 Java.io.ByteArrayOutputStream.toString() 方法使用字符集转换流。
方法一:
- 创建一个 ByteArrayoutputStream 对象。
- 创建一个字符串变量并初始化它。
- 使用write方法将字符串的内容复制到ByteArrayoutputStream的对象中。
- 打印出来。
例子:
Input : String = "Hello World"
Output: Hello World
下面是上述方法的实现:
Java
// Java program to demonstrate conversion
// from outputStream to string
import java.io.*;
class GFG {
// we know that main will throw
// IOException so we are ducking it
public static void main(String[] args)
throws IOException
{
// declaring ByteArrayOutputStream
ByteArrayOutputStream stream
= new ByteArrayOutputStream();
// Intializing string
String st = "Hello Geek!";
// writing the specified byte to the output stream
stream.write(st.getBytes());
// converting stream to byte array
// and typecasting into string
String finalString
= new String(stream.toByteArray());
// printing the final string
System.out.println(finalString);
}
}
Java
// Java program to demonstrate conversion
// from outputStream to string
import java.io.*;
class GFG {
public static void main(String[] args)
throws IOException
{
// Intializing empty string
// and byte array
String str = "";
byte[] bs = { 71, 69, 69, 75, 83, 70, 79,
82, 71, 69, 69, 75, 83 };
// create new ByteArrayOutputStream
ByteArrayOutputStream stream
= new ByteArrayOutputStream();
// write byte array to the output stream
stream.write(bs);
// converts buffers using default character set
// toString is a method for casting into String type
str = stream.toString();
// print
System.out.println(str);
}
}
输出
Hello Geek!
方法二:
- 创建一个字节数组并存储字符的 ASCII 值。
- 创建一个 ByteArrayoutputStream 对象。
- 使用 write 方法将内容从字节数组复制到对象。
- 打印出来。
例子:
Input : array = [71, 69, 69, 75]
Output: GEEK
下面是上述方法的实现:
Java
// Java program to demonstrate conversion
// from outputStream to string
import java.io.*;
class GFG {
public static void main(String[] args)
throws IOException
{
// Intializing empty string
// and byte array
String str = "";
byte[] bs = { 71, 69, 69, 75, 83, 70, 79,
82, 71, 69, 69, 75, 83 };
// create new ByteArrayOutputStream
ByteArrayOutputStream stream
= new ByteArrayOutputStream();
// write byte array to the output stream
stream.write(bs);
// converts buffers using default character set
// toString is a method for casting into String type
str = stream.toString();
// print
System.out.println(str);
}
}
输出
GEEKSFORGEEKS