sun.misc.BASE64Decoder的替换方案,使用java.util.Base64代替
作者:互联网
在项目进行编译时,控制台会出现以下警告信息,提示sun.misc.BASE64Decoder是内部API,会在将来的版本的进行删除,需要避免使用
不想看到这个提示~
- 源代码
public static String imageToBase64ByLocal(File file) {
byte[] data = null;
// 读取图片字节数组
try (InputStream in = new FileInputStream(file.getPath())) {
data = new byte[in.available()];
in.read(data);
} catch (IOException e) {
e.printStackTrace();
}
// 对字节数组Base64编码
BASE64Encoder encoder = new BASE64Encoder();
// 返回Base64编码过的字节数组字符串
return encoder.encode(data);
}
- 更新为util包下的Base64.Encoder
public static String imageToBase64ByLocal(File file) {
byte[] data = null;
// 读取图片字节数组
try (InputStream in = new FileInputStream(file.getPath())) {
data = new byte[in.available()];
in.read(data);
} catch (IOException e) {
e.printStackTrace();
}
// 对字节数组Base64编码
Base64.Encoder encoder = Base64.getEncoder();
// 返回Base64编码过的字节数组字符串
return encoder.encodeToString(data);
}
同理,Decoder也一样,详情可以参考java8的api文档,里面还提供了好多的编码和解码的方法
标签:file,java,字节,sun,Base64,数组,new,data 来源: https://www.cnblogs.com/panie2015/p/16337859.html