模块 java.base

类 CharsetProvider

java.lang.Object
java.nio.charset.spi.CharsetProvider

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

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

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

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

自从:
1.4
参见:
  • 构造方法详细信息

    • CharsetProvider

      protected CharsetProvider()
      初始化一个新的字符集提供程序。
      抛出:
      SecurityException - 如果安装了安全管理器并且它拒绝 RuntimePermission ("charsetProvider")
  • 方法详情

    • charsets

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

      public abstract Charset  charsetForName(String  charsetName)
      检索给定字符集名称的字符集。
      参数:
      charsetName - 请求的字符集名称;可以是规范名称或别名
      返回:
      命名字符集的字符集对象,如果此提供程序不支持命名字符集,则为 null