我正在尝试使用TrueZip 7.7.3在Android4.3模拟器上打开压缩文件
这条线
TArchiveDetector ad = new TArchiveDetector("myext", new ZipDriver(IOPoolLocator.SINGLETON));引发由java.nio.charset.UnsupportedCharsetException: IBM437 at java.nio.charset.Charset.forName(Charset.java:303) at de.schlichtherle.truezip.fs.archive.zip.ZipDriver.<clinit>(ZipDriver.java:75) ... 16 more引起的java.lang.ExceptionInInitializerError
可以在安卓系统上使用TrueZip吗?我需要它,因为安卓系统上的java.util.ZipFile太老了,不能处理超过65536个压缩文件。
发布于 2013-08-27 16:02:08
安卓平台上的TrueZIP通常不受支持,因为该平台缺少或习惯于缺少一些重要的类,例如java.util.ServiceLoader。关于缺少的IBM437字符集: TrueZIP中实际上捆绑了一个提供程序,但是需要ServiceLoader类来查找和加载它。您可以尝试使用JarDriver (它使用UTF-8而不是IBM437),但我担心您只会遇到类似的问题,因为TrueZIP在加载内核、驱动程序、扩展等方面非常依赖ServiceLoader类。
https://stackoverflow.com/questions/18441743
复制相似问题