前面分析完2个主要的包类,现在我们来揭开Java.nio的最后块神秘的知识点,Charset编码类,他的功能主要是实现字节与Unicode之间的转码转换。同样先来看看他的包结构。,结构比较单一和简单。

java.nio包的分析(三)---Charset的理解

里面一个最最主要的类就是Charset类,看看里面有哪些变量
java.nio包的分析(三)---Charset的理解

他的构造函数为

java.nio包的分析(三)---Charset的理解

Charset类中也有缓存字节本身的类型

java.nio包的分析(三)---Charset的理解

我们来看看他最主要的一个功能encode编码是如何实现的

java.nio包的分析(三)---Charset的理解

可以从上图中我们知道编码调用的方法其实是CharsetEncoder的encode方法,然后我们往里找

java.nio包的分析(三)---Charset的理解

再来其中核心的encode方法,方法比较长

java.nio包的分析(三)---Charset的理解

decode与此类似,就不介绍了,下面我们看看其中涉及到一个CoderResult结果类

java.nio包的分析(三)---Charset的理解

好了,还有最后一个提供者类,在Charset.spi中,

java.nio包的分析(三)---Charset的理解

具体什么时候用上,我好像没看到。至此java.nio分析到此结束了,希望能给大家带来收获,不过有些地方我也是比较难以理解的

相关文章:

  • 2021-10-31
  • 2021-05-25
  • 2021-11-23
  • 2021-11-28
猜你喜欢
  • 2022-02-02
  • 2021-08-11
  • 2021-04-30
  • 2021-10-26
相关资源
相似解决方案