有沒有一種方法來解壓縮android1.6編程的rar文件?Android以編程方式解壓縮RAR文件
我已經嘗試過JUNRAR但有一些例外......
這裏是我的代碼,後成功打開RAR文件,使用junrar庫:
FileHeader fh=null;
while(true)
{
fh=rar.nextFileHeader();
if(fh==null) return false;
if(fh.isEncrypted()) continue;
//check file
if(!fh.isDirectory() && fh.getFileNameString().toLowerCase().endsWith(".jpg"))
{
try
{
File f=new File(tmppath+covername); //name of the destination file
OutputStream stream = new FileOutputStream(f);
rar.extractFile(fh, stream); //call junrar
stream.close();
return true;
}
catch (FileNotFoundException e1)
{
// TODO Auto-generated catch block
return false;
}
catch (RarException e)
{
// TODO Auto-generated catch block
return false;
}
catch (IOException e)
{
// TODO Auto-generated catch block
return false;
}
}
而且DDMS透視圖顯示此異常.. 。?
ERROR/AndroidRuntime(2733): Uncaught handler: thread Thread-9 exiting due to uncaught exception
ERROR/AndroidRuntime(2733): java.lang.VerifyError: de.innosystec.unrar.unpack.ppm.SubAllocator
ERROR/AndroidRuntime(2733): at de.innosystec.unrar.unpack.ppm.ModelPPM.<init>(ModelPPM.java:73)
ERROR/AndroidRuntime(2733): at de.innosystec.unrar.unpack.Unpack.<init>(Unpack.java:43)
ERROR/AndroidRuntime(2733): at de.innosystec.unrar.Archive.doExtractFile(Archive.java:456)
ERROR/AndroidRuntime(2733): at de.innosystec.unrar.Archive.extractFile(Archive.java:440)
ERROR/AndroidRuntime(2733): at com.pmc.myRar.unrarCover(myRar.java:164)
ERROR/AndroidRuntime(2733): at com.pmc.myDataBase.addRar(myDataBase.java:541)
ERROR/AndroidRuntime(2733): at com.pmc.libraryActivity.addtoDB(libraryActivity.java:306)
ERROR/AndroidRuntime(2733): at com.pmc.libraryActivity$2.run(libraryActivity.java:240)
ERROR/AndroidRuntime(2733): at java.lang.Thread.run(Thread.java:1060)
感謝, PMC
使用'ADB logcat',DDMS,或在Eclipse中DDMS角度來考察logcat的,並期待在與相關的堆棧跟蹤你的例外。 Android中沒有內置RAR文件,因此您需要爲它找到一些第三方JAR。 – CommonsWare 2011-05-01 16:24:03
感謝您的評論。我編輯了我的原始文章以包含代碼和異常。 – pmc 2011-05-01 19:39:54