idea编译报错 sun.misc.BASE64Decoder升级处理

警告:
17:01:15 /deploy/jenkins/workspace/auto-java-test/utils/ImageBase64Utils.java:67: warning: BASE64Encoder is internal proprietary API and may be removed in a future release
17:01:15 BASE64Encoder encoder = new BASE64Encoder();

import sun.misc.BASE64Decoder;

替代写法:
//从JDK 1.8开始,就提供了java.util.Base64.Decoder和java.util.Base64.Encoder的JDK公共API,可代替sun.misc.BASE64Decoder和sun.misc.BASE64Encoder的JDK内部API。
//byte[] bytes = new BASE64Decoder().decodeBuffer(base64);
byte[] bytes = Base64.getDecoder().decode(base64);

//或者使用方法
import org.apache.commons.codec.binary.Base64;
return Base64.encodeBase64String(encrypted);

demo测试类

@Test
public void test2() throws Exception{
//从JDK 1.8开始,就提供了java.util.Base64.Decoder和java.util.Base64.Encoder的JDK公共API,可代替sun.misc.BASE64Decoder和sun.misc.BASE64Encoder的JDK内部API。
//byte[] bytes = new BASE64Decoder().decodeBuffer(base64); System.out.println("-----------------------早期写法----------------------");
String text = "字串文字";
BASE64Encoder encoder = new BASE64Encoder();
BASE64Decoder decoder = new BASE64Decoder();
byte[] textByte = text.getBytes("UTF-8");
//编码
String encodedText = encoder.encode(textByte);
System.out.println(encodedText);
//解码
System.out.println(new String(decoder.decodeBuffer(encodedText), "UTF-8")); /**
* 与sun.mis c套件和Apache Commons Codec所提供的Base64编解码器来比较的话,Java 8提供的Base64拥有更好的效能。实际测试编码与解码速度的话,Java 8提供的Base64,要比sun.mis c套件提供的还要快至少11倍,比Apache Commons Codec提供的还要快至少3倍。因此在Java上若要使用Base64,这个Java 8底下的java .util套件所提供的Base64类别绝对是首选!
* https://blog.csdn.net/zhou_kapenter/article/details/62890262
*/
System.out.println("-----------------------新的写法----------------------");
byte[] test11 = Base64.getEncoder().encode(textByte);
System.out.println("test11字符串="+new String(test11, "UTF-8"));
byte[] bytes11 = Base64.getDecoder().decode(test11);
System.out.println("test11="+new String(bytes11, "UTF-8")); System.out.println("-----------------------apache写法----------------------");
String test22 = org.apache.tomcat.util.codec.binary.Base64.encodeBase64String(textByte);
System.out.println("test22字符串="+test22);
byte[] bytes22 = org.apache.tomcat.util.codec.binary.Base64.decodeBase64(test22);
System.out.println("test22="+new String(bytes22, "UTF-8")); /**
* 打印效果: 结果一致
* -----------------------早期写法----------------------
* 5a2X5Liy5paH5a2X
* 字串文字
* -----------------------新的写法----------------------
* test11字符串=5a2X5Liy5paH5a2X
* test11=字串文字
* -----------------------apache写法----------------------
* test22字符串=5a2X5Liy5paH5a2X
* test22=字串文字
*/
}

idea编译报错 sun.misc.BASE64Decoder升级处理的更多相关文章

  1. eclipse 中 import sun.misc.BASE64Decoder; 报错

    from://http://blog.sina.com.cn/s/blog_48964b120101ahrf.html 在android做3DES加密功能时 eclipse 中 import sun. ...

  2. 解决报错:import sun.misc.BASE64Decoder无法找到

    解决报错:import sun.misc.BASE64Decoder无法找到 2017年09月29日 16:03:26 chaoyu168 阅读数:2116 标签: sun.misc.BASE64De ...

  3. JDK从1.8升级到9.0.1后sun.misc.BASE64Decoder和sun.misc.BASE64Encoder不可用

    目录 描述 原因分析 处理办法 参考 描述 最近研究把项目的JDK升级从1.8升级到9.0.1,在eclipse上配置好JDK为9后,发现项目有错,查看发现sun.misc.BASE64Decoder ...

  4. Android AS升级3.1 编译报错:The SourceSet 'instrumentTest' is not recognized by the Android Gradle Plugin.

    AndroidStudio升级到3.1后编译报错:The SourceSet ‘instrumentTest’ is not recognized by the Android Gradle Plug ...

  5. mvn 编译报错mavn sun.security.validator.ValidatorException: PKIX path building failed: sun.security.provider.certpath.SunCertPathBuilderException: unable to find valid certification path to requested targ

    mavn 编译报错: mavn sun.security.validator.ValidatorException: PKIX path building failed: sun.security.p ...

  6. ios 12 xcode10 新升级的编译报错libstdc++.6.0.9 Multiple commands produce

    问题一 编译报错 Showing Recent Messages :-1: Multiple commands produce '/Users/duning/Library/Developer/Xco ...

  7. sun.misc.BASE64Decoder的风险

    问题描述 最近需要使用Base64上传图片,但是返现sun.misc.BASE64Decoder 为已经过期的包,此包为以前sun公司的内部包,可以下载此包,但是不利于现在Maven方式构建,可能会在 ...

  8. 一些webpack常见编译报错的解决方案

    重新安装依赖可以解决80%的webpack编译报错问题. rm -rf node_modules rm package-lock.json npm cache clear --force npm in ...

  9. sun.misc.BASE64Decoder 替代

    加密解密经常用到sun.misc.BASE64Decoder处理,编译时会提示: sun.misc.BASE64Decoder是内部专用 API, 可能会在未来发行版中删除 解决办法: Java8以后 ...

  10. 使用C#模拟Outlook发送邮件,代码编译报错

    添加OutLook API using OutLook = Microsoft.Office.Interop.Outlook; 发送邮件方法 public void SendEmail() { Out ...

随机推荐

  1. 双龙贺岁,龙蜥 LoongArch GA 版正式发布

    ​简介:Anolis OS 8.4 LoongArch 正式版发布产品包括 ISO.软件仓库.虚拟机镜像.容器镜像. ​ 简介 继  Anolis OS LoongArch 预览版发布后,现迎来龙蜥 ...

  2. 零基础玩转SLS日志查询-SLS Query Builder发布

    ​简介:日志服务(Log Service,简称 SLS) 是阿里云提供的行业领先的日志大数据解决方案,一站式提供数据收集.清洗.分析.可视化.告警等功能.智能查询分析是数据中台重要的一环,SLS支持秒 ...

  3. 长文解析:作为容器底层技术的半壁江山, cgroup如何突破并发创建瓶颈?

    ​简介: io_uring 作为一种新型高性能异步编程框架,代表着 Linux 内核未来的方向,当前仍处于快速发展中.阿里云联合 InfoQ 发起<io_uring 介绍及应用实践>的技术 ...

  4. [HTML] 访问 a 链接不带 referer 的方式

    html5 新属性 referrerpolicy: referrerpolicy no-referrer no-referrer-when-downgrade origin origin-when-c ...

  5. 在 UOS 统信运行 dotnet 程序提示没有通过系统安全验证无法运行

    本文记录 dotnet 应用程序在 UOS 统信系统上运行时,提示 没有通过系统安全验证,无法运行 的问题 这个问题是因为没有开启 UOS 统信的开发者模式,直接将自己构建完成的包放上去跑导致的问题 ...

  6. SAP集成技术(七)集成解决方案咨询方法论(ISA-M)

    目前,ISA-M 主要以 Microsoft PowerPoint 演示文稿的形式提供.可以在 SAP Community 博客文章(https://blogs.sap.com/)以及关于ISA-M ...

  7. go-zero goctl命令图解

  8. Oracle数据库WHERE子查询按时间段查询用法(to_date函数)

    oracle中的to_date参数含义 1.日期格式参数 含义说明 D 一周中的星期几  DAY 天的名字,使用空格填充到9个字符  DD 月中的第几天  DDD 年中的第几天  DY 天的简写名   ...

  9. java 读取气象专业格式NetCDF文件

    一.NetCDF简介NetCDF全称为network Common Data Format( "网络通用数据格式"),是一个软件库与机器无关的数据格式,支持创建,访问基于数组的科研 ...

  10. C语言:快速排序(详解)

    快速排序采用的是两头对比交换 http://t.csdn.cn/TXcAK 上面这个连接大家可以点进去看看博客李小白大大的图文解释,我觉得这个是对我启发比较大的,对刚接触快速排序的人来说非常友好,很快 ...