sun.misc.BASE64Decoder导入异常及处理思路

Java后台保存base64图片数据

使用byte[] bytes = new BASE64Decoder().decodeBuffer(str);需要引入sun.misc.BASE64Decoder,但在eclipse中提示如下警告:

sun.misc.BASE64Decoder导入异常及处理思路

查阅后在一篇文章中提到:

“一直以来Base64的加密解密都是使用sun.misc包下的BASE64Encoder及BASE64Decoder的sun.misc.BASE64Encoder/BASE64Decoder类。这人个类是sun公司的内部方法,并没有在java api中公开过,不属于JDK标准库范畴,但在JDK中包含了该类,可以直接使用。但是在eclipse和MyEclipse中直接使用,却找不到该类。”

详细解释可以参照:http://blog.sina.com.cn/s/blog_5a6efa330102v8st.html

一直以来Base64的加密解密都是使用sun.misc包下的BASE64Encoder及BASE64Decoder的sun.misc.BASE64Encoder/BASE64Decoder类。这人个类是sun公司的内部方法,并没有在java api中公开过,不属于JDK标准库范畴,但在JDK中包含了该类,可以直接使用。但是在eclipse和MyEclipse中直接使用,却找不到该类。如下图!

sun.misc.BASE64Decoder导入异常及处理思路

解决方法如图:右键项目-》属性-》构建路经

sun.misc.BASE64Decoder导入异常及处理思路

右键项目-》属性-》Javabulid path-》jre System Library-》access rules-》resolution选择accessible,下面填上** 点击确定即可!!!

sun.misc.BASE64Decoder导入异常及处理思路

sun.misc.BASE64Decoder导入异常及处理思路

这是英文版界面

sun.misc.BASE64Decoder导入异常及处理思路

另外网上也有用相应的替代的对象及方法,如使用

org.apache.commons.codec.binary.Base64类等。可以自己去查用!

以上内容均参考自:http://blog.sina.com.cn/s/blog_5a6efa330102v8st.html

改使用org.apache.commons.codec.binary.Base64

String base64Code = request.getParameter("base64Code");
Base64 base64 = new Base64();
byte[] bytes = base64.decodeBase64(new String(base64Code).getBytes());

亲测,效果一样!!!

上一篇:sun.misc.BASE64Decoder 替代


下一篇:阅读<构建之法>第三10、11、12章