Java.io.ByteArrayOutputStream() Class in Java Last Updated : 01 Nov, 2022 Summarize Comments Improve Suggest changes Share Like Article Like Report java.io.ByteArrayOutputStream class creates an Output Stream for writing data into byte array. The size of buffer grows automatically as data is written to it. There is no affect of closing the byteArrayOutputStream on the working of it's methods. They can be called even after closing the class. Thus, no methods throws IO exception. Declaration: public class ByteArrayOutputStream extends OutputStream Fields: protected byte[] buf - The buffer where data is stored. protected int count - The number of valid bytes in the buffer. Constructors : ByteArrayOutputStream() : creates a new ByteArrayOutputStream to write bytes ByteArrayOutputStream(int buffersize) : creates a new ByteArrayOutputStream with buffersize to write bytes. Methods: write(int byte) : java.io.ByteArrayOutputStream.write(int byte) writes specified byte to the Output Stream. Syntax : public void write(int byte) Parameters : byte : byte to be written Return : void write(byte[] buffer, int offset, int maxlen) : java.io.ByteArrayOutputStream.write(byte[] buffer, int offset, int maxlen) writes maxlen bytes of the data from buffer to the Output Stream. It converts the stream's contents using the specified charsetName(A named mapping between sequences of sixteen-bit Unicode code units and sequences of bytes.) Syntax : public void write(byte[] buffer, int offset, int maxlen) Parameters : buffer : data of the buffer offset : starting in the destination array - 'buffer'. maxlen : maximum length of array to be read Return : void toByteArray() : java.io.ByteArrayOutputStream.toByteArray() creates a new byte array having the same as that of Output Stream Syntax : public byte[] toByteArray() Parameters : ---------- Return : new byte array having the same as that of Output Stream Java Program explaining the use of write(byte[] buffer, int offset, int maxlen) and toByteArray() methods : Java // Java program illustrating the working of ByteArrayOutputStream // write(byte[] buffer, int offset, int maxlen), toByteArray() import java.io.*; public class NewClass { public static void main(String[] args) throws IOException { ByteArrayOutputStream geek_output = new ByteArrayOutputStream(); byte[] buffer = {'J', 'A', 'V', 'A'}; // Use of write(byte[] buffer, int offset, int maxlen) geek_output.write(buffer, 0, 4); System.out.print("Use of write(buffer, offset, maxlen) by toByteArray() : "); // Use of toByteArray() : for (byte b: geek_output.toByteArray()) { System.out.print(" " + b); } } } Output : Use of write(buffer, offset, maxlen) by toByteArray() : 74 65 86 65 close() : java.io.ByteArrayOutputStream.close() closes the Output Stream and releases the allocated resources. Syntax : public void close() Parameters : -------------- Return : void size() : java.io.ByteArrayOutputStream.size() returns the size of buffer present inside the Output Stream. Syntax : public int size() Parameters : -------------- Return : size of buffer present inside the Output Stream. reset() : java.io.ByteArrayOutputStream.reset() resets the complete stream count to zero and will help the Stream to start as fresh Syntax : public void reset() Parameters : -------------- Return : void. toString() : java.io.ByteArrayOutputStream.toStrign() convert the content of Output Stream to platform's default Character set Syntax : public String toString() Parameters : -------------- Return : the content of Output Stream by converting it to platform's default Character set toString(String charsetName) : java.io.ByteArrayOutputStream.toStrign(String charsetName) convert the content of Output Stream to platform's specified Character set Syntax : public String toString(String charsetName) Parameters : -------------- Return : the content of Output Stream by converting it to platform's default Character set Java Program illustrating the use ByteArrayOutputStream class methods : Java // Java program illustrating the working of ByteArrayOutputStream // write(), size(), toString(String charsetName), // close(), toString(), reset() import java.io.*; public class NewClass { public static void main(String[] args) throws IOException { ByteArrayOutputStream geek_output = new ByteArrayOutputStream(); byte[] buffer = {'J', 'A', 'V', 'A'}; for (byte a : buffer) { // Use of write(int byte) : geek_output.write(a); } // Use of size() : int size = geek_output.size(); System.out.println("Use of size() : " + size); // Use of reset() : System.out.println("Use of reset()"); // USe of toString() : String geek = geek_output.toString(); System.out.println("Use of toString() : "+ geek); // Use of toString(String charsetName) String geek1 = geek_output.toString("UTF-8"); System.out.println("Use of toString(String charsetName) : "+ geek1); // Closing the stream geek_output.close(); } } Output : Use of size() : 4 Use of reset() Use of toString() : JAVA Use of toString(String charsetName) : JAVA Next Article: io.ByteArrayInputStream class in Java Comment More infoAdvertise with us Next Article Java BufferedOutputStream Class K kartik Improve Article Tags : Java Java-I/O Practice Tags : Java Similar Reads Java.io.ByteArrayInputStream class in Java ByteArrayInputStream class of java.io package contains all the buffers, containing bytes to be read from the Input Stream. There is no IO exception in case of ByteArrayInputStream class methods. Methods of this class can be called even after closing the Stream, there is no effect of it on the class 3 min read Java.io.BufferedInputStream class in Java A BufferedInputStream adds functionality to another input stream-namely, the ability to buffer the input and to support the mark and reset methods. When the BufferedInputStream is created, an internal buffer array is created. As bytes from the stream are read or skipped, the internal buffer is refil 4 min read Java.io.DataOutputStream in Java A data output stream lets an application write primitive Java data types to an output stream in a portable way. An application can then use a data input stream to read the data back in. Let us do discuss the constructor of this class prior to moving ahead to the methods of this class. Constructor: 5 min read Java.io.FilterOutputStream Class in Java java.io.FilterInputStream Class in Java Java.io.FilterOutputStream class is the superclass of all those classes which filters output streams. The write() method of FilterOutputStream Class filters the data and write it to the underlying stream, filtering which is done depending on the Streams. Decla 5 min read Java BufferedOutputStream Class BufferedOutputStream class in Java is a part of the java.io package. It improves the efficiency of writing data to an output stream by buffering the data. This reduces the number of direct writes to the underlying output stream, making the process faster and more efficient.Example 1: The below Java 2 min read ByteArrayOutputSteam close() method in Java with Examples The close() method of ByteArrayOutputStream class in Java has no effect if other methods of this class are called after closing the ByteArrayOutputStream. This method does not throw exception if even after closing the ByteArrayOutputStream, the other method is called. Syntax: public void close() Spe 2 min read Like