Wyodrębnij RAR w Javie

Pliki RAR są powszechnie używane do kompresji dużych ilości danych do jednego, mniejszego pliku. Jednak wyodrębnianie tych plików programowo w Javie może być wyzwaniem bez odpowiednich narzędzi. W tym przewodniku omówimy dwie metody wyodrębniania plików RAR przy użyciu Java: jedną dla zwykłych plików RAR i drugą dla zaszyfrowanych plików RAR.

Wypakuj pliki RAR - Konfiguracja Java API

Aby rozpakować pliki RAR w Javie, musisz zainstalować Conholdate.Total for Java podczas pobierania pliku JAR lub uruchomić następujące polecenie Maven w pliku pom.xml swojego projektu:

<dependency>
<groupId>com.conholdate</groupId>
<artifactId>conholdate-total</artifactId>
<version>24.8</version>
<type>pom</type>
</dependency>

Wypakuj pliki RAR w Javie

Podczas wyodrębniania zwykłego pliku RAR proces obejmuje otwarcie archiwum, dostęp do jego poszczególnych wpisów i zapisanie wyodrębnionych danych w żądanej lokalizacji. Poniższy opis krok po kroku pokazuje, jak wyodrębnić pierwszy wpis pliku z archiwum RAR i zapisać go do pliku. Ta metoda jest przydatna do obsługi standardowych archiwów RAR.

  • Załaduj źródłowe archiwum RAR przy użyciu klasy RarArchive.

  • Wypakuj archiwum z pliku źródłowego.

  • Wyeksportuj wypakowane archiwum na dysk.

Poniższy fragment kodu pokazuje, jak obsługiwać odczyt i zapis plików za pomocą strumieni, zapewniając, że każdy wpis jest prawidłowo wyodrębniany w małych fragmentach, co zapobiega przeciążeniom pamięci, zwłaszcza podczas pracy z dużymi plikami.

try (com.aspose.zip.RarArchive archive = new com.aspose.zip.RarArchive("archive.rar")) {
    try (FileOutputStream destination = new FileOutputStream(dataDir + "firstEntry.txt")) {
        try (InputStream source = archive.getEntries().get(0).open()) {
            byte[] b = new byte[1024];
            int bytesRead;
            while (0 < (bytesRead = source.read(b, 0, b.length))) {
                destination.write(b, 0, bytesRead);
            }
        }
    }
} catch (IOException ex) {
    System.out.println(ex);
}

Co więcej, możesz jeszcze bardziej udoskonalić ten fragment kodu, aby móc przechodzić przez każdy wpis i eksportować go do odpowiedniego pliku jeden po drugim, zgodnie ze swoimi wymaganiami.

Wyodrębnij zaszyfrowane pliki RAR w Javie

W przypadku plików RAR chronionych hasłem lub zaszyfrowanych proces ekstrakcji jest nieco inny. Musisz podać prawidłowe hasło, aby pomyślnie wyodrębnić pliki. Poniższe kroki podsumowują proces ekstrakcji zaszyfrowanych i chronionych hasłem plików RAR w Javie:

  • Zaszyfrowany plik RAR jest ładowany przy użyciu klasy RarArchive.

  • Podano prawidłowe hasło w celu wyodrębnienia pierwszego wpisu pliku.

  • Wyodrębnione dane zostaną zapisane pod określoną nazwą pliku.

Poniższy przykład kodu demonstruje sposób wyodrębniania zaszyfrowanego i zabezpieczonego hasłem pliku RAR za pomocą języka Java:

File fi = new File("encrypted.rar");
try (com.aspose.zip.RarArchive archive = new com.aspose.zip.RarArchive(Files.newInputStream(fi.toPath()))) {
    try (FileOutputStream destination = new FileOutputStream(dataDir + "firstEntry.txt")) {
        archive.getEntries().get(0).extract(destination, "p@s$w0rd");
    }
} catch (IOException ex) {
    System.out.println(ex);
}

Bezpłatna licencja ewaluacyjna

Możesz poprosić o bezpłatną tymczasową licencję, aby móc ocenić tę i inne funkcje kompresji danych oraz manipulacji danymi bez żadnych ograniczeń w ocenie.

Podsumowanie

Wyodrębnianie plików RAR w Javie, zarówno standardowych, jak i szyfrowanych, jest prostym zadaniem dzięki temu podejściu. Oferuje ono wydajne i elastyczne sposoby obsługi różnych archiwów RAR, w tym tych chronionych hasłem. Możesz łatwo zintegrować funkcjonalność wyodrębniania RAR ze swoimi aplikacjami Java, co pozwoli Ci bezproblemowo zarządzać skompresowanymi danymi. Jeśli masz jakieś pytania, napisz do nas na forum.

Zobacz także