找不到 sun.misc.BASE64Decoder 的解决方法

懒驴 2022年04月13日 1,778次浏览

由于JDK版本的升级,遇到了这样的一个问题: sun.misc.BASE64Decoder

这是由于1.8+高版本的JDK自带的包替换了 sun.misc.BASE64Decoder

java.util.Base64
java.util.Base64.Encoder;
java.util.Base64.Decoder;
代替sun.misc.BASE64Decoder

下面看代码:

[原有代码]
BASE64Decoder base64 = new BASE64Decoder();
byte[] buffer = base64.decodeBuffer(str);

[替换代码]
//注不要使用.getDecoder();
Decoder decoder=Base64.getMimeDecoder();
byte[] buffer =decoder.decode(str);

同理:
(new BASE64Encoder()).encodeBuffer(str) 这样的修改为以下的即可

Base64.Encoder encoder=Base64.getMimeEncoder();
String returnStr = encoder.encode(str).toString();