Module  java.base
软件包  java.nio.charset.spi

Class CharsetProvider



  • public abstract class CharsetProvider
    extends Object
    字符集服务提供者类。

    charset提供程序是此类的具体子类,它具有零参数构造函数和一些关联的charset实现类。 字符串提供程序可能作为扩展安装在Java平台的实例中。 提供商也可以通过将它们添加到小程序或应用程序类路径或某些其他平台特定的方式来提供。 通过当前线程的context class loader查询 Charset提供程序。

    charset提供程序使用资源目录META-INF/services名为java.nio.charset.spi.CharsetProvider的提供程序配置文件来标识自身。 该文件应包含一个完全限定的具体字符集提供程序类名称列表,每行一个。 一行由任何换行符( '\n' ),回车( '\r' )或随后的'\r' 忽略每个名称周围的空格和制表符,以及空白行。 评论的字符是'#''\u0023' ); 在每行上,忽略第一个注释字符之后的所有字符。 文件必须以UTF-8编码。

    如果一个特定的具体字符集提供程序类在多个配置文件中命名,或者在同一配置文件中多次命名,那么重复项将被忽略。 命名特定提供者的配置文件不需要与提供者本身在同一个jar文件或其他分发单元中。 提供程序必须可以从初始查询的相同类加载器访问以查找配置文件; 这不一定是加载文件的类加载器。

    从以下版本开始:
    1.4
    另请参见:
    Charset
    • 构造方法详细信息

      • CharsetProvider

        protected CharsetProvider​()
        初始化一个新的字符集提供程序。
        异常
        SecurityException - 如果安全管理器已安装,并且它已拒绝RuntimePermission ("charsetProvider")
    • 方法详细信息

      • charsets

        public abstract Iterator<Charset> charsets​()
        创建一个迭代器来迭代此提供程序支持的字符集。 该方法用于实现Charset.availableCharsets方法。
        结果
        新的迭代器
      • charsetForName

        public abstract Charset charsetForName​(String charsetName)
        检索给定字符集名称的字符集。
        参数
        charsetName - 请求的字符集的名称; 可能是规范名称或别名
        结果
        A charset object for the named charset, or null if the named charset is not supported by this provider