Module java.base

Class CharsetProvider

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

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

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

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

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

自 JDK 版本:
1.4
参见:
  • Constructor Details

    • CharsetProvider

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

    • charsets

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

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