找不到 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); }
}