在项目开发过程中,因为重装系统,安装了Java10版本,发现sun.misc.Base64Encoder和sun.misc.Base64Decoder无法使用。
原因:
查看官网发现,JDK中的/lib/tool.jar和/lib/rt.jar已经从Java SE 9中删除,(我估计是因为java从sun换到oracle导致)。
处理办法:
直接用 java.util.Base64.Encoder 和 java.util.Base64.Decoder 替代使用。可以直接使用以下方法:
- import java.util.Base64.Encoder
- import java.util.Base64.Decoder
-
- Encoder encoder = Base64.getEncoder();
- String result = encoder.encodeToString(byteArray);
-
- Decoder decoder = Base64.getDecoder();
- byte\[\] result = decoder.decode(str);