In this post, we will see how to convert OutputStream to Byte array in Java.
Convert OutputStream to Byte array in Java
Here are steps to convert OutputStream to Byte array in java.
- Create instance of ByteArrayOutputStream
baos - Write data to ByteArrayOutputStream
baos - Extract byte[] using
toByteArray()method.
package org.arpit.java2blog;
import java.io.ByteArrayOutputStream;
import java.io.IOException;
public class OutputStreamToByteArray {
public static void main(String[] args) throws IOException {
String str="Java2blog";
// Creates OutputStream
ByteArrayOutputStream baos = new ByteArrayOutputStream();
// Get bytes from String
byte[] array = str.getBytes();
// Write data to OutputStream
baos.write(array);
// Convert OutputStream to byte array
byte bytes[] = baos.toByteArray();
System.out.println("Print output:");
for(int x = 0; x < bytes.length; x++) {
// Print original characters
System.out.print((char)bytes[x] + "");
}
System.out.println(" ");
}
}
Output:
Print output:
Java2blog
Java2blog
Convert OutputStream to ByteBuffer in Java
To convert OutputStream to ByteBuffer in Java, we need to add one more step to above method.
- Create instance of ByteArrayOutputStream
baos - Write data to ByteArrayOutputStream
baos - Extract byte[] using
toByteArray()method. - Convert byte array to ByteBuffer using
ByteBuffer.wrap(byte[])method.
package org.arpit.java2blog;
import java.io.ByteArrayOutputStream;
import java.io.IOException;
import java.nio.ByteBuffer;
public class OutputStreamToByteBuffer {
public static void main(String[] args) throws IOException {
String str="Java2blog";
// Creates OutputStream
ByteArrayOutputStream baos = new ByteArrayOutputStream();
// Get bytes from String
byte[] array = str.getBytes();
// Write data to OutputStream
baos.write(array);
// Get bytes[] from ByteArrayOutputStream
byte bytes[] = baos.toByteArray();
// Convert bytep[] to ByteBuffer
ByteBuffer bb= ByteBuffer.wrap(bytes);
System.out.println(bb);
}
}
Output:
java.nio.HeapByteBuffer[pos=0 lim=9 cap=9]
That's all about how to convert Outputstream to Byte Array in Java.