我的Activity类中有一些使用sun.misc.BASE64Encoder类的代码。但它显示“java.lang.NoClassDefFoundError:sun.misc.BASE64Encoder”。我需要罐子吗?我在哪里可以下载?请帮帮我。
答案 0 :(得分:3)
不要使用sun.*
课程。对于Android中的Base64,使用它的native class或者为你的项目添加一个库(Apache commons等)。或者,只需将Android源代码复制到您的项目(在您自己的包中),如果您需要在2.2之前的设备上使用它。
答案 1 :(得分:0)
它可以在rt.jar中找到,它随Sun java运行时一起提供。
在1.5.0_06:jre \ lib \ rt.jar
答案 2 :(得分:0)
C:\Program Files\AdoptOpenJDK\jdk-8.0.202.08\jre\lib
答案 3 :(得分:0)
从 Java 8 开始,您可以使用 java.util.Base64
类:
byte[] original = "Base64".getBytes(StandardCharsets.UTF_8);
// encode
byte[] toBase64 = Base64.getEncoder().encode(original);
// decode
byte[] fromBase64 = Base64.getDecoder().decode(toBase64);
// output
System.out.println(new String(toBase64)); //QmFzZTY0
System.out.println(new String(fromBase64)); //Base64
System.out.println(Arrays.equals(original, fromBase64)); //true