Usando java para extrair arquivos .rar

Eu estou procurando maneiras de descompactar.rar arquivos usando Java e sempre que eu procuro eu continuo terminando com a mesma ferramenta -JavaUnRar. Eu tenho olhado em descompactar.rar arquivos com isso, mas todas as maneiras que eu pareço encontrar para fazer isso são muito longas e difíceis, como emeste exemplo

Atualmente sou capaz de extrair.tar, .tar.gz, .zip e.jar arquivos em 20 linhas de código ou menos, então deve haver uma maneira mais simples de extrair.rar arquivos, alguém sabe?

Apenas se isso ajuda alguém, esse é o código que estou usando para extrair.zip e.jar arquivos, funciona tanto para

 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();
    }
}

questionAnswers(2)

yourAnswerToTheQuestion