How To Convert Byte[] Array To String In Java

In some cases, we have to convert String variable into a Byte array format, for example, JCE encryption. However how do we convert a Byte[] array to String afterward?
Simple toString() function like following code is not working property. It will not display the original text but byte value.

String s = bytes.toString();

In order to convert Byte array into String format correctly, we have to explicitly create a String object and assign the Byte array to it.

String s = new String(bytes);

And here's a sample code:

public class TestByte {
    public static void main(String[] argv) {
            String example = "This is an example";
            byte[] bytes = example.getBytes();

            System.out.println("Text : " + example);
            System.out.println("Text [Byte Format] : " + bytes);
            System.out.println("Text [Byte Format] : " + bytes.toString());

            String s = new String(bytes);
            System.out.println("Text Decryted : " + s);


Text : This is an example
Text [Byte Format] : [B@70fccc53
Text [Byte Format] : [B@70fccc53
Text Decryted : This is an example
Contact Us
  • Harbin Institute of Technology, Harbin, China
  • cshzxie [at] gmail [dot] com