Java - ByteArrayOutputStream toString(String charsetName)



描述

Java ByteArrayOutputStream toString(String charsetName) 方法使用指定的 charsetName 转换流的内容。格式错误的输入和无法映射的字符序列将被平台默认字符集的默认替换字符串替换。

声明

以下是 java.io.ByteArrayOutputStream.toString(String charsetName) 方法的声明:

public String toString(String charsetName)

参数

charsetName − 支持的字符集的名称

返回值

此方法返回从缓冲区内容解码的字符串。

异常

UnsupportedEncodingException − 如果不支持字符集名称。

示例 1

以下示例演示了 Java ByteArrayOutputStream toString(String charsetname) 方法的使用。我们创建了一个 ByteArrayOutputStream 引用,然后用 ByteArrayOutputStream 对象初始化它。现在我们使用 write() 方法将字节数组写入输出流,并使用 toString() 方法打印流的 Cp1047 字符集格式的字符串表示。最后,在 finally 块中,我们使用 close() 方法关闭流。

package com.tutorialspoint;
import java.io.ByteArrayOutputStream;
import java.io.IOException;
public class ByteArrayOutputStreamDemo {
   public static void main(String[] args) throws IOException {
      String str = "";      
      byte[] bs = {65, 66, 67, 68, 69};
      ByteArrayOutputStream baos = null;
      
      try {
         // create new ByteArrayOutputStream
         baos = new ByteArrayOutputStream();
      
         // write byte array to the output stream
         baos.write(bs);
         
         // converts buffers using Cp1047 character set
         str = baos.toString("Cp1047");
         
         // print
         System.out.println(str);
         
      } catch(Exception e) {
         // if I/O error occurs
         e.printStackTrace();
      } finally {
         if(baos!=null)
            baos.close();
      }   
   }
}

输出

让我们编译并运行上述程序,这将产生以下结果:

 ?????

示例 2

以下示例演示了 Java ByteArrayOutputStream toString(String charsetname) 方法的使用。我们创建了一个 ByteArrayOutputStream 引用,然后用 ByteArrayOutputStream 对象初始化它。现在我们向输出流写入多个值,并使用 toString() 方法打印流的“UTF-8”字符串表示。最后,在 finally 块中,我们使用 close() 方法关闭流。

package com.tutorialspoint;
import java.io.ByteArrayOutputStream;
import java.io.IOException;
public class ByteArrayOutputStreamDemo {
   public static void main(String[] args) throws IOException {
      ByteArrayOutputStream baos = null;
      
      try {
         String str = "";
         
         // create new ByteArrayOutputStream
         baos = new ByteArrayOutputStream();
         
         // writing bytes to output stream
         baos.write(75);
         baos.write(65);
         
         // converts buffers using "UTF-8" character set
         str = baos.toString("UTF-8");

         // print
         System.out.println(str);

      } catch(Exception e) {
         // if I/O error occurs
         e.printStackTrace();
      } finally {
         if(baos!=null)
            baos.close();
      }   
   }
}

输出

让我们编译并运行上述程序,这将产生以下结果:

KA
java_bytearrayoutputstream.htm
广告