
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.