Hallo zusammen,
kennt einer von euch ne gute Bibliothek zum entpacken von RAR-Zip Dateien? Ich bin auf JUnRAR gestoßen, dass allerdings nicht so ganz rund läuft.
Bekomme dort oft nen HeapSizeOverflow, was wohl an einer der internen Methoden liegt.
Also meine Frage ist gibt noch andere Bibliotheken zum Extrahieren von RAR Dateien oder kennst sich jemand mit JUnRAR aus und kann mir da helfen?
Hier mein Code zum Extrahieren der RAR Dateien + Ergebnis in der Konsole:
Vielen Dank im Voraus!
Grüße Andreas
kennt einer von euch ne gute Bibliothek zum entpacken von RAR-Zip Dateien? Ich bin auf JUnRAR gestoßen, dass allerdings nicht so ganz rund läuft.
Bekomme dort oft nen HeapSizeOverflow, was wohl an einer der internen Methoden liegt.
Also meine Frage ist gibt noch andere Bibliotheken zum Extrahieren von RAR Dateien oder kennst sich jemand mit JUnRAR aus und kann mir da helfen?
Hier mein Code zum Extrahieren der RAR Dateien + Ergebnis in der Konsole:
Code:
@Override
public void extractArchive(File archive, File destDir) {
// TODO Auto-generated method stub
try {
ReadOnlyAccessFile rarfile = new ReadOnlyAccessFile(archive);
Archive rararchive = new Archive(rarfile);
List<FileHeader> fileHeaders = rararchive.getFileHeaders();
System.out.println("Size: "+fileHeaders.size());
for(FileHeader header : fileHeaders){
String fileNameString = header.getFileNameString();
//Resultierende Datei festlegen
File unpackedFile = new File(destDir, fileNameString);
File parentFolder = unpackedFile.getParentFile();
parentFolder.mkdirs();
//Wenn es sich um einen Ordner handelt
if(isFolder(header)){
if(!unpackedFile.exists()){
//Erstellen
unpackedFile.mkdir();
}
} else {
rararchive.extractFile(header, new FileOutputStream(unpackedFile));
}
}
} catch (FileNotFoundException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (RarException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
-------------------------------------------------------------------------------------------------------------------
Exception in thread "main" java.lang.OutOfMemoryError: Java heap space
at de.innosystec.unrar.unpack.ppm.SubAllocator.startSubAllocator(SubAllocator.java:155)
at de.innosystec.unrar.unpack.ppm.ModelPPM.decodeInit(ModelPPM.java:199)
at de.innosystec.unrar.unpack.Unpack.readTables(Unpack.java:668)
at de.innosystec.unrar.unpack.Unpack.unpack29(Unpack.java:167)
at de.innosystec.unrar.unpack.Unpack.doUnpack(Unpack.java:122)
at de.innosystec.unrar.Archive.doExtractFile(Archive.java:322)
at de.innosystec.unrar.Archive.extractFile(Archive.java:279)
at de.test.home.AIDExtractors.RARExtractor.extractArchive(RARExtractor.java:39)
at de.test.home.ExtractorImpl.extractArchive(ExtractorImpl.java:28)
at de.test.home.ExtractorTest.main(ExtractorTest.java:10)
Vielen Dank im Voraus!
Grüße Andreas