Charset canEncode() method in Java with Examples

The canEncode() method is a built-in method of the java.nio.charset checks whether a particular charset supports encoding or not. Almost every charset can encode, except a few.

Syntax:

public boolean canEncode()

Parameters: The function does not accepts any parameter.



Return Value: The function returns a boolean value. It returns true if it supports encoding, else it returns false.

Below is the implementation of the above function:

Program 1:

filter_none

edit
close

play_arrow

link
brightness_4
code

// Java program to demonstrate
// the above function
  
import java.nio.charset.Charset;
import java.util.Iterator;
import java.util.Map;
  
public class GFG {
  
    public static void main(String[] args)
    {
        // Creates a map of charsets
        Map<String, Charset> charsets
            = Charset.availableCharsets();
  
        // Iterator to store the type
        Iterator<Charset> iterator
            = charsets.values().iterator();
  
        // Iterate till we get all the charsets
        while (iterator.hasNext()) {
  
            // Get the next
            Charset all = (Charset)iterator.next();
  
            // Print all the charset which cannot encode
            if (all.canEncode() == false)
                System.out.println(all.displayName());
        }
    }
}

chevron_right


Output:

ISO-2022-CN
x-JISAutoDetect

Program 2:

filter_none

edit
close

play_arrow

link
brightness_4
code

// Java program to demonstrate
// the above function
  
import java.nio.charset.Charset;
import java.util.Iterator;
import java.util.Map;
  
public class GFG {
  
    public static void main(String[] args)
    {
        // Creates a map of charsets
        Map<String, Charset> charsets
            = Charset.availableCharsets();
  
        // Iterator to store the type
        Iterator<Charset> iterator
            = charsets.values().iterator();
  
        // Iterate till we get all the charsets
        while (iterator.hasNext()) {
  
            // Get the next
            Charset all = (Charset)iterator.next();
  
            // Print all the charset which can encode
            if (all.canEncode() == true)
                System.out.print(all.displayName() + " ");
        }
    }
}

chevron_right


Output:

Big5 Big5-HKSCS CESU-8 EUC-JP EUC-KR GB18030 GB2312 GBK IBM-Thai IBM00858 IBM01140 IBM01141 IBM01142 IBM01143 IBM01144 IBM01145 IBM01146 IBM01147 IBM01148 IBM01149 IBM037 IBM1026 IBM1047 IBM273 IBM277 IBM278 IBM280 IBM284 IBM285 IBM290 IBM297 IBM420 IBM424 IBM437 IBM500 IBM775 IBM850 IBM852 IBM855 IBM857 IBM860 IBM861 IBM862 IBM863 IBM864 IBM865 IBM866 IBM868 IBM869 IBM870 IBM871 IBM918 ISO-2022-JP ISO-2022-JP-2 ISO-2022-KR ISO-8859-1 ISO-8859-13 ISO-8859-15 ISO-8859-2 ISO-8859-3 ISO-8859-4 ISO-8859-5 ISO-8859-6 ISO-8859-7 ISO-8859-8 ISO-8859-9 JIS_X0201 JIS_X0212-1990 KOI8-R KOI8-U Shift_JIS TIS-620 US-ASCII UTF-16 UTF-16BE UTF-16LE UTF-32 UTF-32BE UTF-32LE UTF-8 windows-1250 windows-1251 windows-1252 windows-1253 windows-1254 windows-1255 windows-1256 windows-1257 windows-1258 windows-31j x-Big5-HKSCS-2001 x-Big5-Solaris x-COMPOUND_TEXT x-euc-jp-linux x-EUC-TW x-eucJP-Open x-IBM1006 x-IBM1025 x-IBM1046 x-IBM1097 x-IBM1098 x-IBM1112 x-IBM1122 x-IBM1123 x-IBM1124 x-IBM1166 x-IBM1364 x-IBM1381 x-IBM1383 x-IBM300 x-IBM33722 x-IBM737 x-IBM833 x-IBM834 x-IBM856 x-IBM874 x-IBM875 x-IBM921 x-IBM922 x-IBM930 x-IBM933 x-IBM935 x-IBM937 x-IBM939 x-IBM942 x-IBM942C x-IBM943 x-IBM943C x-IBM948 x-IBM949 x-IBM949C x-IBM950 x-IBM964 x-IBM970 x-ISCII91 x-ISO-2022-CN-CNS x-ISO-2022-CN-GB x-iso-8859-11 x-JIS0208 x-Johab x-MacArabic x-MacCentralEurope x-MacCroatian x-MacCyrillic x-MacDingbat x-MacGreek x-MacHebrew x-MacIceland x-MacRoman x-MacRomania x-MacSymbol x-MacThai x-MacTurkish x-MacUkraine x-MS932_0213 x-MS950-HKSCS x-MS950-HKSCS-XP x-mswin-936 x-PCK x-SJIS_0213 x-UTF-16LE-BOM X-UTF-32BE-BOM X-UTF-32LE-BOM x-windows-50220 x-windows-50221 x-windows-874 x-windows-949 x-windows-950 x-windows-iso2022jp

Reference: https://docs.oracle.com/javase/9/docs/api/java/nio/charset/Charset.html#canEncode–



My Personal Notes arrow_drop_up

The function of education is to teach one to think intensively and to think critically

If you like GeeksforGeeks and would like to contribute, you can also write an article using contribute.geeksforgeeks.org or mail your article to contribute@geeksforgeeks.org. See your article appearing on the GeeksforGeeks main page and help other Geeks.

Please Improve this article if you find anything incorrect by clicking on the "Improve Article" button below.