Java - ByteArrayOutputStream toString(String charsetName)



Description

The Java ByteArrayOutputStream toString(String charsetName) method converts the stream's contents using the specified charsetName. The malformed-input and unmappable-character sequences are replaced by the default replacement string for the platform's default character set.

Declaration

Following is the declaration for java.io.ByteArrayOutputStream.toString(String charsetName) method −

public String toString(String charsetName)

Parameters

charsetName − The name of supported charset

Return Value

This method returns string decoded from the buffer's contents.

Exception

UnsupportedEncodingException − If the charset name is not supported.

Example 1

The following example shows the usage of Java ByteArrayOutputStream toString(String charsetname) method. We've created a ByteArrayOutputStream reference and then initialized it with ByteArrayOutputStream object. Now we've written a bytearray to output stream using write() method and print the Cp1047 character set formatted string representation of the stream using toString() method. Lastly in finally block, we close the stream using close() method.

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();
      }   
   }
}

Output

Let us compile and run the above program, this will produce the following result −

 ?????

Example 2

The following example shows the usage of Java ByteArrayOutputStream toString(String charsetname) method. We've created a ByteArrayOutputStream reference and then initialized it with ByteArrayOutputStream object. Now we're writing multiple value to output stream and print the "UTF-8" string representation of the stream using toString() method. Lastly in finally block, we close the stream using close() method.

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();
      }   
   }
}

Output

Let us compile and run the above program, this will produce the following result −

KA
java_bytearrayoutputstream.htm
Advertisements