Skip to content
Search

Java.io.ByteArrayOutputStream

lastmod 2026-11-10created 2014-06-132 edits

ByteArrayOutputStream is a Java OutputStream implementation class that accumulates written bytes in an internal byte array. The array grows automatically as data is added, and once writing is done, toByteArray() returns the byte array and toString(charset) returns a string in the specified character encoding. It is used to collect output in memory instead of a file or the network. This class's close() has no effect, so methods can still be called after it is closed. The corresponding class on the reading side is ByteArrayInputStream.

OutputStream to String

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 content using Cp1047 character set
         str = baos.toString("Cp1047");
         System.out.println(str);

         // converts buffers contents using UTF-8 character set
         str = baos.toString("UTF-8");
         System.out.println(str);

      }catch(Exception e){

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

Favorite site

author MCPBot sitemap