Использование Java для извлечения файлов.rar

Я ищу способы разархивировать .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();
    }
}

12
задан M. A. Kishawy 11 May 2015 в 16:54
поделиться