
- Java.io - Home
- Java.io - BufferedInputStream
- Java.io - BufferedOutputStream
- Java.io - BufferedReader
- Java.io - BufferedWriter
- Java.io - ByteArrayInputStream
- Java.io - ByteArrayOutputStream
- Java.io - CharArrayReader
- Java.io - CharArrayWriter
- Java.io - Console
- Java.io - DataInputStream
- Java.io - DataOutputStream
- Java.io - File
- Java.io - FileDescriptor
- Java.io - FileInputStream
- Java.io - FileOutputStream
- Java.io - FilePermission
- Java.io - FileReader
- Java.io - FileWriter
- Java.io - FilterInputStream
- Java.io - FilterOutputStream
- Java.io - FilterReader
- Java.io - FilterWriter
- Java.io - InputStream
- Java.io - InputStreamReader
- Java.io - LineNumberInputStream
- Java.io - LineNumberReader
- Java.io - ObjectInputStream
- Java.io - ObjectInputStream.GetField
- Java.io - ObjectOutputStream
- io - ObjectOutputStream.PutField
- Java.io - ObjectStreamClass
- Java.io - ObjectStreamField
- Java.io - OutputStream
- Java.io - OutputStreamWriter
- Java.io - PipedInputStream
- Java.io - PipedOutputStream
- Java.io - PipedReader
- Java.io - PipedWriter
- Java.io - PrintStream
- Java.io - PrintWriter
- Java.io - PushbackInputStream
- Java.io - PushbackReader
- Java.io - RandomAccessFile
- Java.io - Reader
- Java.io - SequenceInputStream
- Java.io - SerializablePermission
- Java.io - StreamTokenizer
- Java.io - StringBufferInputStream
- Java.io - StringReader
- Java.io - StringWriter
- Java.io - Writer
- Java.io package Useful Resources
- Java.io - Discussion
Java - ByteArrayOutputStream toString(String charsetName) method
Description
The Java ByteArrayOutputStream toString(String charsetName) method converts the stream's contents using the specified charsetName. The malformed-input and unmappable-character sequences are replaced by the default replacement string for the platform's default character set.
This method is particularly useful when you need to ensure the correct interpretation of the byte data based on a specific character set.
Declaration
Following is the declaration for java.io.ByteArrayOutputStream.toString(String charsetName) method −
public String toString(String charsetName)
Parameters
charsetName− The name of supported charset
Return Value
This method returns string decoded from the buffer's contents.
Exception
UnsupportedEncodingException− If the charset name is not supported.
Example - Using ByteArrayOutputStream toString(String charsetName) method
The following example shows the usage of Java ByteArrayOutputStream toString(String charsetName) method. We've created a ByteArrayOutputStream reference and then initialized it with ByteArrayOutputStream object. Now we've written a bytearray to output stream using write() method and print the Cp1047 character set formatted string representation of the stream using toString() method. Lastly in finally block, we close the stream using close() method.
ByteArrayOutputStreamDemo.java
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 using Cp1047 character set str = baos.toString("Cp1047"); // print System.out.println(str); } catch(Exception e) { // if I/O error occurs e.printStackTrace(); } finally { if(baos!=null) baos.close(); } } }
Output
Let us compile and run the above program, this will produce the following result −
Example - Using ByteArrayOutputStream toString(String charsetName) method
The following example shows the usage of Java ByteArrayOutputStream toString(String charsetName) method. We've created a ByteArrayOutputStream reference and then initialized it with ByteArrayOutputStream object. Now we're writing multiple value to output stream and print the UTF-8 string representation of the stream using toString() method. Lastly in finally block, we close the stream using close() method.
ByteArrayOutputStreamDemo.java
package com.tutorialspoint; import java.io.ByteArrayOutputStream; import java.io.IOException; public class ByteArrayOutputStreamDemo { public static void main(String[] args) throws IOException { ByteArrayOutputStream baos = null; try { String str = ""; // create new ByteArrayOutputStream baos = new ByteArrayOutputStream(); // writing bytes to output stream baos.write(75); baos.write(65); // converts buffers using "UTF-8" character set str = baos.toString("UTF-8"); // print System.out.println(str); } catch(Exception e) { // if I/O error occurs e.printStackTrace(); } finally { if(baos!=null) baos.close(); } } }
Output
Let us compile and run the above program, this will produce the following result −
KA
Example - Using toString(String charsetName) to Convert Stream Data to a String with UTF-8 Encoding
The following example shows the usage of Java ByteArrayOutputStream toString(String charsetName) method.
ByteArrayOutputStreamDemo.java
package com.tutorialspoint; import java.io.ByteArrayOutputStream; import java.io.IOException; import java.nio.charset.StandardCharsets; public class ByteArrayOutputStreamDemo { public static void main(String[] args) { // Create a ByteArrayOutputStream ByteArrayOutputStream outputStream = new ByteArrayOutputStream(); try { // Write some data to the stream outputStream.write("Hello, World!".getBytes(StandardCharsets.UTF_8)); // Convert the stream content to a string using UTF-8 encoding String content = outputStream.toString("UTF-8"); // Print the string content System.out.println("String content: " + content); // Close the stream (optional for ByteArrayOutputStream) outputStream.close(); } catch (IOException e) { System.err.println("IOException occurred: " + e.getMessage()); } } }
Output
Let us compile and run the above program, this will produce the following result −
String content: Hello, World!
Explanation
Writing Data− The string "Hello, World!" (which contains both ASCII and Unicode characters) is written to the ByteArrayOutputStream using the UTF-8 encoding.
Using toString(String charsetName)− The toString("UTF-8") method is called to convert the content of the stream into a String using the UTF-8 character encoding.
Output− The converted string is printed to the console.
Closing the Stream− Although not strictly necessary for ByteArrayOutputStream, the close() method is called for consistency.
Key Points
Custom Encoding− The toString(String charsetName) method ensures that the byte data is correctly interpreted according to the specified encoding.
UTF-8 Encoding− In this example, UTF-8 is used to handle Unicode characters properly.
Platform Independence− Using toString(String charsetName) ensures consistent behavior across different platforms with varying default encodings.
Common Use Case− This method is helpful when working with multilingual text or when a specific encoding (e.g., UTF-8, ISO-8859-1) is required.