Я ищу способ разархивировать файлы .rar с помощью Java, и где бы я ни искал, я всегда натыкаюсь на один и тот же инструмент — JavaUnRar. Я изучал возможность разархивирования файлов .rar с его помощью, но все способы, которые я нашел, очень длинные и неудобные, как в этом примере.
В настоящее время я могу извлекать файлы .tar, .tar.gz, .zip и .jar в 20 строк кода или меньше, поэтому должен быть более простой способ извлечь файлы .rar, кто-нибудь знаете?
Просто если кому-нибудь поможет, вот код, который я использую для извлечения файлов .zip и .jar, он работает для обоих
public void getZipFiles(String zipFile, String destFolder) throws IOException {
BufferedOutputStream dest = null;
ZipInputStream zis = new ZipInputStream(
new BufferedInputStream(
new FileInputStream(zipFile)));
ZipEntry entry;
while (( entry = zis.getNextEntry() ) != null) {
System.out.println( "Extracting: " + entry.getName() );
int count;
byte data[] = new byte[BUFFER];
if (entry.isDirectory()) {
new File( destFolder + "/" + entry.getName() ).mkdirs();
continue;
} else {
int di = entry.getName().lastIndexOf( '/' );
if (di != -1) {
new File( destFolder + "/" + entry.getName()
.substring( 0, di ) ).mkdirs();
}
}
FileOutputStream fos = new FileOutputStream( destFolder + "/"
+ entry.getName() );
dest = new BufferedOutputStream( fos );
while (( count = zis.read( data ) ) != -1)
dest.write( data, 0, count );
dest.flush();
dest.close();
}
}
Подробнее здесь: https://stackoverflow.com/questions/116 ... -rar-files