找不到 sun.misc.BASE64Decoder ,sun.misc.BASE64Encoder 类
找不到 sun.misc.BASE64Decoder ,sun.misc.BASE64Encoder 类
1. 现象 idea 引用报错 找不到对应的包
import sun.misc.BASE64Decoder;
import sun.misc.BASE64Encoder;
2. 原因
因为sun.misc.BASE64Decoder
和sun.misc.BASE64Encoder
是Java的内部API,通常情况下不建议直接使用。而且,从Java 9开始,sun.misc
包已经被标记为废弃,所以你可能无法找到这两个类。
3. 解决方式
3.1 使用java 8
File -> Project Structure … ->Platform Settings ->SDKs 选择java8 的安装路径
3.2 或者替换成 java.util.Base64类
如果你想进行Base64的编码和解码操作,建议使用Java标准库中的java.util.Base64
类。这个类在Java 8及以后的版本中都是可用的。
import java.util.Base64;
public class Main {
public static void main(String[] args) {
// 原始字符串
String originalInput = "Hello world!";
// Base64编码
String encodedString = Base64.getEncoder().encodeToString(originalInput.getBytes());
System.out.println(encodedString);
// Base64解码
byte[] decodedBytes = Base64.getDecoder().decode(encodedString);
String decodedString = new String(decodedBytes);
System.out.println(decodedString);
}
}