Write a Java Program to Convert OutputStream to String

When working with Java, it’s common to encounter situations where you need to convert an OutputStream to a String.

This process can be a bit tricky, but with the right approach, it’s possible to do so without much trouble.

In this tutorial, we’ll explore how to convert an OutputStream to a String in Java.


First, let’s take a quick look at what OutputStream and String are.

OutputStream is an abstract class in Java that is used to write data to a destination, such as a file, network socket, or even memory.

String, on the other hand, is a class that represents a sequence of characters.

To convert an OutputStream to a String, we need to follow a few steps:

Create an OutputStream

The first step is to create an OutputStream object.

In this example, we’ll use a ByteArrayOutputStream, which is a subclass of OutputStream that writes its output to a byte array.

OutputStream outputStream = new ByteArrayOutputStream();

Write data to the OutputStream

Next, we need to write some data to the OutputStream.

In this example, we’ll write a simple string.

String data = "Hello, world!"; outputStream.write(data.getBytes());

Convert the OutputStream to a String

Finally, we can convert the OutputStream to a String using the toString() method.

String result = outputStream.toString();

That’s it! We’ve successfully converted an OutputStream to a String in Java.

Here’s the complete code:

import java.io.ByteArrayOutputStream; 
import java.io.OutputStream;

public class OutputStreamToStringExample { 

public static void main(String[] args) 

OutputStream outputStream = new ByteArrayOutputStream(); 

String data = "Hello, world!"; try { outputStream.write(data.getBytes()); 

catch (Exception e) { e.printStackTrace(); 

String result = outputStream.toString(); System.out.println(result); 

In summary, converting an OutputStream to a String in Java involves creating an OutputStream object, writing data to it, and then converting it to a String using the toString() method.

This process can be useful in a variety of situations, such as when you need to convert the output of a network socket or file stream to a String for processing.