📜  将输出流转换为字符串的Java程序

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

将输出流转换为字符串的Java程序

OutputStream 是一个抽象类,在Java.io 包中可用。因为它是一个抽象类,为了使用它的功能,我们可以使用它的子类。一些子类是 FileOutputStream、ByteArrayOutputStream、ObjectOutputStream 等。而 String 只不过是一个字符序列,使用双引号来表示它。 Java.io.ByteArrayOutputStream.toString() 方法使用字符集转换流。

方法一:

  1. 创建一个 ByteArrayoutputStream 对象。
  2. 创建一个字符串变量并初始化它。
  3. 使用write方法将字符串的内容复制到ByteArrayoutputStream的对象中。
  4. 打印出来。

例子:

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!

方法二:

  1. 创建一个字节数组并存储字符的 ASCII 值。
  2. 创建一个 ByteArrayoutputStream 对象。
  3. 使用 write 方法将内容从字节数组复制到对象。
  4. 打印出来。

例子:

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