Java 7独立于平台的Base64?

Java 7独立于平台的Base64?,java,android,base64,cross-platform,java-7,Java,Android,Base64,Cross Platform,Java 7,我正在尝试制作一款可以在包括android在内的多个平台上运行的应用程序。我遇到的问题是我的sun.misc.base64解码器在计算机上运行的应用程序上工作: BASE64Decoder decoder = new BASE64Decoder(); byte[] data = decoder.decodeBuffer(is); 它在android设备上不起作用: E/AndroidRuntime(18172): java.lang.NoClassDefFoundError: Failed r

我正在尝试制作一款可以在包括android在内的多个平台上运行的应用程序。我遇到的问题是我的
sun.misc.base64解码器在计算机上运行的应用程序上工作:

BASE64Decoder decoder = new BASE64Decoder();
byte[] data = decoder.decodeBuffer(is);
它在android设备上不起作用:

E/AndroidRuntime(18172): java.lang.NoClassDefFoundError: Failed resolution of: Lsun/misc/BASE64Decoder;
E/AndroidRuntime(18172):    at com.company.app.backend.SomeClass$1.run(SomeClass.java:55)
E/AndroidRuntime(18172):    at java.lang.Thread.run(Thread.java:818)
E/AndroidRuntime(18172): Caused by: java.lang.ClassNotFoundException: Didn't find class "sun.misc.BASE64Decoder" on path: DexPathList[[zip file "/data/app/com.company.app-1/base.apk"],nativeLibraryDirectories=[/data/app/com.company.app-1/lib/arm, /vendor/lib, /system/lib]]
E/AndroidRuntime(18172):    at dalvik.system.BaseDexClassLoader.findClass(BaseDexClassLoader.java:56)
E/AndroidRuntime(18172):    at java.lang.ClassLoader.loadClass(ClassLoader.java:511)
E/AndroidRuntime(18172):    at java.lang.ClassLoader.loadClass(ClassLoader.java:469)
E/AndroidRuntime(18172):    ... 2 more
E/AndroidRuntime(18172):    Suppressed: java.lang.ClassNotFoundException: sun.misc.BASE64Decoder
E/AndroidRuntime(18172):        at java.lang.Class.classForName(Native Method)
E/AndroidRuntime(18172):        at java.lang.BootClassLoader.findClass(ClassLoader.java:781)
E/AndroidRuntime(18172):        at java.lang.BootClassLoader.loadClass(ClassLoader.java:841)
E/AndroidRuntime(18172):        at java.lang.ClassLoader.loadClass(ClassLoader.java:504)
E/AndroidRuntime(18172):        ... 3 more
E/AndroidRuntime(18172):    Caused by: java.lang.NoClassDefFoundError: Class not found using the boot class loader; no stack available
不幸的是,我不能使用Java8的
Java.util.Base64
,因为我不能使用Java8。另外,我不能使用android.util.Base64,因为它在android之外无法工作


非常感谢您的帮助。

如果您可以使用第三方库,您可以使用


如果没有,您可以在网上找到大量纯Java实现。就连维基百科上的文章也有一个问题。只需将其添加到您自己的实用程序类中。

您可以使用。编解码器的Base64不接受流,只接受字节数组。有一个可以从流中读取数据吗?