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
廣告