Pobieranie skompresowanego rozmiaru w Javie przy użyciu GroupDocs.Metadata
W nowoczesnych aplikacjach skoncentrowanych na danych, get compressed size java jest częstym wymaganiem, gdy trzeba sprawdzić rozmiar plików przechowywanych w archiwach RAR bez ich rozpakowywania. Niezależnie od tego, czy tworzysz narzędzie weryfikacji kopii zapasowych, system zarządzania zasobami cyfrowymi, czy portal udostępniania plików, odczytanie tych metadanych oszczędza zarówno czas, jak i zasoby systemowe. Ten przewodnik krok po kroku pokazuje, jak używać GroupDocs.Metadata dla Javy, aby szybko, bezpiecznie i przy minimalnym kodzie pobrać skompresowany rozmiar każdego wpisu.
Szybkie odpowiedzi
- Jakiej biblioteki potrzebujesz? GroupDocs.Metadata for Java
- Czy mogę pobrać skompresowane rozmiary? Tak – wywołaj
rarFile.getCompressedSize()dla każdego wpisu - Czy potrzebuję licencji? Darmowa wersja próbna działa w środowisku deweloperskim; pełna licencja jest wymagana w produkcji
- Jaką wersję Javy obsługuje? Java 8+ (dowolne środowisko kompatybilne z Maven)
- Czy przetwarzanie wsadowe jest możliwe? Zdecydowanie – przeiteruj folder z plikami RAR i użyj tego samego kodu
- Jak obsługiwać duże archiwa? Przetwarzaj wpisy pojedynczo i zamknij obiekt metadata po zakończeniu
Co to jest „get compressed size java” i dlaczego ma to znaczenie?
Get compressed size java odczytuje rozmiar pliku tak, jak jest przechowywany w kontenerze RAR. Wartość ta informuje, ile miejsca plik zajmuje po kompresji, co umożliwia weryfikację współczynników kompresji, szacowanie czasu transferu oraz prezentację zarówno oryginalnych, jak i skompresowanych rozmiarów w raportach inwentaryzacyjnych.
Jak pobrać skompresowany rozmiar java z archiwów RAR?
Załaduj archiwum RAR przy użyciu GroupDocs.Metadata, przeiteruj jego wpisy i wywołaj metodę getCompressedSize() dla każdego wpisu pliku. To podejście odczytuje jedynie nagłówek archiwum, więc nie dochodzi do rozpakowywania ani pełnego wczytywania pliku, utrzymując zużycie pamięci poniżej 5 MB nawet przy archiwach wielokrotnie setek megabajtów.
Krok 1: Zainicjalizuj obiekt Metadata
Utwórz instancję Metadata, podając ścieżkę do pliku RAR. Ten obiekt reprezentuje archiwum w pamięci i zapewnia dostęp do jego wewnętrznej struktury.
Krok 2: Uzyskaj główny pakiet archiwum RAR
Wywołaj metadata.getRootPackage(), aby pobrać pakiet najwyższego poziomu zawierający wszystkie wpisy. Zwrócony ArchivePackage umożliwia wyliczanie plików i folderów wewnątrz archiwum.
Krok 3: Pobierz łączną liczbę wpisów
Użyj archivePackage.getEntries().size(), aby dowiedzieć się, ile elementów jest przechowywanych. Znajomość liczby pomaga przydzielić struktury śledzenia postępu dla zadań wsadowych.
Krok 4: Przejdź przez każdy plik i odczytaj jego właściwości
Iteruj przez archivePackage.getEntries(). Dla każdego wpisu, który reprezentuje plik (nie folder), wywołaj entry.getCompressedSize(), aby uzyskać skompresowany rozmiar w bajtach. Możesz także odczytać entry.getOriginalSize(), jeśli potrzebujesz rozmiaru nieskompresowanego do obliczeń współczynnika.
Wskazówki rozwiązywania problemów
- Sprawdź, czy
rarFilePathwskazuje istniejący plik RAR. - Upewnij się, że aplikacja ma uprawnienia odczytu do archiwum.
- Jeśli napotkasz błędy „nieobsługiwany format”, potwierdź, że wersja RAR jest kompatybilna z GroupDocs.Metadata (obsługuje RAR 4 i RAR 5).
Dlaczego używać GroupDocs.Metadata dla plików RAR?
GroupDocs.Metadata oferuje wysokopoziomowe API, które odczytuje nagłówki archiwów bez ich rozpakowywania, zapewniając szybki dostęp do właściwości takich jak skompresowany rozmiar, rozmiar oryginalny i znaczniki czasu. Działa z formatami RAR 4 i RAR 5, efektywnie obsługuje duże archiwa i abstrahuje szczegóły specyficzne dla formatu, dzięki czemu programiści mogą pisać jednolity kod dla różnych typów archiwów.
Typowe przypadki użycia
- Systemy zarządzania danymi – automatyczne katalogowanie zawartości archiwów w celu tworzenia przeszukiwalnych inwentarzy.
- Zarządzanie zasobami cyfrowymi – wzbogacanie bibliotek mediów o szczegóły na poziomie archiwum, takie jak skompresowany rozmiar.
- Weryfikacja kopii zapasowych – porównywanie przechowywanych skompresowanych rozmiarów z oczekiwanymi wartościami w celu wykrycia uszkodzeń.
- Platformy udostępniania plików – wyświetlanie podsumowań archiwów bez pełnego ich rozpakowywania, co poprawia doświadczenie użytkownika.
Rozważania dotyczące wydajności
- Uzyskaj dostęp tylko do potrzebnych właściwości – unikaj wywoływania ciężkich metod, jeśli potrzebujesz jedynie nazw plików i rozmiarów.
- Zwolnij obiekty metadata – wywołaj
metadata.close()po przetworzeniu, aby zwolnić zasoby natywne. - Przetwarzanie wsadowe – przetwarzaj wiele plików RAR w pętli, ponownie używając tej samej JVM, aby zmniejszyć narzut uruchamiania.
Najczęściej zadawane pytania
Q: Co to jest GroupDocs.Metadata dla Javy?
A: GroupDocs.Metadata for Java to biblioteka umożliwiająca odczyt, aktualizację i zarządzanie metadanymi w ponad 50 formatach plików, w tym RAR, ZIP i 7z, bez konieczności ich rozpakowywania.
Q: Jak uzyskać licencję na pełny dostęp?
A: Odwiedź stronę zakupu GroupDocs, aby uzyskać tymczasową lub stałą licencję; dostępna jest darmowa wersja próbna dla deweloperów.
Q: Czy mogę używać GroupDocs.Metadata z innymi typami archiwów oprócz RAR?
A: Tak, to samo API obsługuje ZIP, 7z i kilka innych formatów archiwów, umożliwiając jednolitą bazę kodu dla wszystkich zadań związanych z metadanymi archiwów.
Q: Jakie są typowe pułapki przy obsłudze dużych plików RAR?
A: Główne problemy to zużycie pamięci i limity uchwytów plików; łagodź je, przetwarzając wpisy pojedynczo i niezwłocznie zamykając obiekt Metadata.
Q: Gdzie mogę uzyskać wsparcie w razie problemów?
A: Forum GroupDocs free support zapewnia pomoc zarówno od inżynierów dostawcy, jak i społeczności.
Zasoby
- Dokumentacja: Dokumentacja GroupDocs Metadata Java
- Referencja API: Referencja API GroupDocs
- Pobieranie najnowszej wersji: Pobieranie najnowszej wersji
- Kod źródłowy na GitHub: Kod źródłowy na GitHub
- Forum GroupDocs: Forum GroupDocs
- Wydania GroupDocs.Metadata dla Javy: Wydania GroupDocs.Metadata dla Javy
- Kompleksowa dokumentacja: Kompleksowa dokumentacja
Podsumowanie
Teraz wiesz, jak używać GroupDocs.Metadata, aby wyodrębnić kompleksowe metadane z archiwów RAR, w tym jak get compressed size java dla każdego wpisu. Zintegruj ten wzorzec w swoich projektach, aby zwiększyć możliwości zarządzania danymi, usprawnić weryfikację kopii zapasowych i wzbogacić doświadczenia wyszukiwania plików bez obciążenia pełnym rozpakowywaniem.
Kolejne kroki
Zbadaj dodatkowe funkcje, takie jak aktualizacja komentarzy wpisów lub wyodrębnianie informacji o sumach kontrolnych w oficjalnej dokumentacji, i rozważ połączenie tego wyodrębniania metadanych z istniejącym potokiem indeksowania, aby uzyskać w pełni przeszukiwane repozytorium archiwów.
Ostatnia aktualizacja: 2026-06-22
Testowano z: GroupDocs.Metadata 24.12 for Java
Autor: GroupDocs
<repositories>
<repository>
<id>repository.groupdocs.com</id>
<name>GroupDocs Repository</name>
<url>https://releases.groupdocs.com/metadata/java/</url>
</repository>
</repositories>
<dependencies>
<dependency>
<groupId>com.groupdocs</groupId>
<artifactId>groupdocs-metadata</artifactId>
<version>24.12</version>
</dependency>
</dependencies>
import com.groupdocs.metadata.Metadata;
public class MetadataSetup {
public static void main(String[] args) {
// Initialize metadata object
Metadata metadata = new Metadata("path/to/your/document");
System.out.println("Metadata initialized successfully.");
}
}
// Specify the path to your input RAR file
String rarFilePath = "YOUR_DOCUMENT_DIRECTORY/input.rar";
// Initialize Metadata object with the specified RAR file path\ nMetadata metadata = new Metadata(rarFilePath);
// Obtain the root package of the RAR archive
RarRootPackage root = metadata.getRootPackageGeneric();
// Retrieve and print the total number of entries in the RAR package
int totalEntries = root.getRarPackage().getTotalEntries();
system.out.println("Total Entries: " + totalEntries);
// Iterate over each file within the RAR archive
for (RarFile rarFile : root.getRarPackage().getFiles()) {
// Print file name, compressed size, modification date time, and uncompressed size
System.out.println("File Name: " + rarFile.getName());
System.out.println("Compressed Size: " + rarFile.getCompressedSize());
System.out.println("Modification Date Time: " + rarFile.getModificationDateTime());
System.out.println("Uncompressed Size: " + rarFile.getUncompressedSize());
}