Open In App

CharsetEncoder encode(CharBuffer in) method in Java with Examples

Improve
Improve
Like Article
Like
Save
Share
Report

The encode(CharBuffer input) method is a built-in method of the java.nio.charset.CharsetEncoder which encodes the content which is remaining of a single input character buffer to a newly-allocated byte-buffer. The encode() method in itself implements an entire operation of encoding. This function should not be invoked if the operation is in progress.

Syntax:

public final ByteBuffer encode(CharBuffer input)

Parameters: The function accepts a mandatory parameter input which specifies the input character buffer.

Return Value: The function returns a newly-allocated byte buffer containing the result of the encoding operation.

Error and Exceptions: The function throws four exceptions which can be described as below:

  • IllegalStateException: It is thrown if an encoding operation is already in progress.
  • MalformedInputException: It is thrown if the character sequence starting at the input buffer’s current position is not a legal sixteen-bit Unicode sequence and the current malformed-input action is CodingErrorAction.REPORT.
  • UnmappableCharacterException: It is thrown if the character sequence starting at the input buffer’s current position cannot be mapped to an equivalent byte sequence and the current unmappable-character action is CodingErrorAction.REPORT
  • CharacterCodingException

Below is the implementation of the above function:

Program 1:

Java




// Java program to implement
// the above function
import java.nio.CharBuffer;
import java.nio.charset.Charset;
import java.nio.charset.CharsetEncoder;
  
public class Main {
    public static void main(String[] args) throws Exception
    {
  
        // Gets the new encoder
        CharsetEncoder encoder = Charset.forName("UTF8").newEncoder();
  
        // Encodes
        String res = "gfggfg";
        System.out.println(encoder.encode(CharBuffer.wrap(res)));
    }
}


Output:

java.nio.HeapByteBuffer[pos=0 lim=6 cap=6]

Program 2:

Java




// Java program to implement
// the above function
import java.nio.CharBuffer;
import java.nio.charset.Charset;
import java.nio.charset.CharsetEncoder;
  
public class Main {
    public static void main(String[] args) throws Exception
    {
  
        // Gets the new encoder
        CharsetEncoder encoder = Charset.forName("UTF16").newEncoder();
  
        // Encodes
        String res = "gopal";
        System.out.println(encoder.encode(CharBuffer.wrap(res)));
    }
}


Output:

java.nio.HeapByteBuffer[pos=0 lim=12 cap=21]

The exception programs cannot be demonstrated in programs.

Reference: https://docs.oracle.com/javase/10/docs/api/java/nio/charset/CharsetEncoder.html#encode(java.nio.CharBuffer)



Last Updated : 10 Jan, 2022
Like Article
Save Article
Previous
Next
Share your thoughts in the comments
Similar Reads