Open In App

CharsetEncoder encode(CharBuffer in) method in Java with Examples

Last Updated : 10 Jan, 2022
Comments
Improve
Suggest changes
Like Article
Like
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)

Next Article

Similar Reads