前面分析完2个主要的包类,现在我们来揭开Java.nio的最后块神秘的知识点,Charset编码类,他的功能主要是实现字节与Unicode之间的转码转换。同样先来看看他的包结构。,结构比较单一和简单。
里面一个最最主要的类就是Charset类,看看里面有哪些变量
他的构造函数为
Charset类中也有缓存字节本身的类型
我们来看看他最主要的一个功能encode编码是如何实现的
可以从上图中我们知道编码调用的方法其实是CharsetEncoder的encode方法,然后我们往里找
再来其中核心的encode方法,方法比较长
decode与此类似,就不介绍了,下面我们看看其中涉及到一个CoderResult结果类
好了,还有最后一个提供者类,在Charset.spi中,
具体什么时候用上,我好像没看到。至此java.nio分析到此结束了,希望能给大家带来收获,不过有些地方我也是比较难以理解的