Obter Tamanho Compactado Java com GroupDocs.Metadata

Em aplicações modernas centradas em dados, get compressed size java é um requisito frequente quando você precisa inspecionar o tamanho de arquivos armazenados dentro de arquivos RAR sem extraí‑los. Seja construindo uma ferramenta de verificação de backup, um sistema de gerenciamento de ativos digitais ou um portal de compartilhamento de arquivos, ler esses metadados economiza tempo e recursos do sistema. Este guia mostra como usar o GroupDocs.Metadata para Java para recuperar o tamanho compactado de cada entrada de forma rápida, segura e com código mínimo.

Respostas Rápidas

  • Qual biblioteca é necessária? GroupDocs.Metadata for Java
  • Posso recuperar tamanhos compactados? Sim – chame rarFile.getCompressedSize() em cada entrada
  • Preciso de uma licença? Um teste gratuito funciona para desenvolvimento; uma licença completa é necessária para produção
  • Qual versão do Java é suportada? Java 8+ (qualquer ambiente compatível com Maven)
  • O processamento em lote é possível? Absolutamente – faça loop sobre uma pasta de arquivos RAR e reutilize o mesmo código
  • Como lidar com arquivos grandes? Processar entradas uma‑por‑uma e fechar o objeto metadata quando terminar

O que é “get compressed size java” e por que isso importa?

Get compressed size java lê o tamanho de um arquivo como ele está armazenado dentro de um contêiner RAR. Esse valor indica quanto espaço o arquivo ocupa após a compressão, permitindo que você verifique as taxas de compressão, estime tempos de transferência e apresente tanto os tamanhos original quanto o compactado em relatórios de inventário.

Como obter o tamanho compactado java a partir de arquivos RAR?

Carregue o arquivo RAR com GroupDocs.Metadata, itere sobre suas entradas e chame o método getCompressedSize() em cada entrada de arquivo. Essa abordagem lê apenas o cabeçalho do arquivo, portanto não há extração ou carregamento completo do arquivo, mantendo o uso de memória abaixo de 5 MB mesmo para arquivos de várias centenas de megabytes.

Etapa 1: Inicializar o objeto Metadata

Crie uma instância Metadata fornecendo o caminho para o arquivo RAR. Esse objeto representa o arquivo em memória e dá acesso à sua estrutura interna.

Etapa 2: Obter o pacote raiz do arquivo RAR

Chame metadata.getRootPackage() para recuperar o pacote de nível superior que contém todas as entradas. O ArchivePackage retornado permite enumerar arquivos e pastas dentro do arquivo.

Etapa 3: Recuperar a contagem total de entradas

Use archivePackage.getEntries().size() para saber quantos itens estão armazenados. Conhecer a contagem ajuda a alocar estruturas de acompanhamento de progresso para trabalhos em lote.

Etapa 4: Iterar sobre cada arquivo e ler suas propriedades

Faça loop em archivePackage.getEntries(). Para cada entrada que representa um arquivo (não uma pasta), chame entry.getCompressedSize() para obter seu tamanho compactado em bytes. Você também pode ler entry.getOriginalSize() se precisar do tamanho descompactado para cálculos de taxa.

Dicas de Solução de Problemas

  • Verifique se rarFilePath aponta para um arquivo RAR existente.
  • Garanta que a aplicação tenha permissões de leitura para o arquivo.
  • Se encontrar erros “unsupported format”, confirme que a versão do RAR é compatível com GroupDocs.Metadata (ele suporta RAR 4 e RAR 5).

Por que usar o GroupDocs.Metadata para arquivos RAR?

GroupDocs.Metadata fornece uma API de alto nível que lê cabeçalhos de arquivos sem extrair os arquivos, oferecendo acesso rápido a propriedades como tamanho compactado, tamanho original e timestamps. Funciona com formatos RAR 4 e RAR 5, lida eficientemente com arquivos grandes e abstrai detalhes específicos de formato para que os desenvolvedores possam escrever código uniforme entre diferentes tipos de arquivos.

Casos de Uso Comuns

  1. Sistemas de Gerenciamento de Dados – catalogar automaticamente o conteúdo dos arquivos para inventários pesquisáveis.
  2. Gerenciamento de Ativos Digitais – enriquecer bibliotecas de mídia com detalhes ao nível do arquivo, como tamanho compactado.
  3. Verificação de Backup – comparar os tamanhos compactados armazenados com os valores esperados para detectar corrupção.
  4. Plataformas de Compartilhamento de Arquivos – exibir resumos de arquivos sem extrair completamente os arquivos, melhorando a experiência do usuário.

Considerações de Desempenho

  • Acesse apenas as propriedades necessárias – evite chamar métodos pesados se você só precisar de nomes de arquivos e tamanhos.
  • Descarte objetos metadata – invoque metadata.close() após o processamento para liberar recursos nativos.
  • Processamento em lote – processe vários arquivos RAR em um loop, reutilizando a mesma JVM para reduzir a sobrecarga de inicialização.

Perguntas Frequentes

Q: O que é GroupDocs.Metadata para Java?
A: GroupDocs.Metadata para Java é uma biblioteca que permite ler, atualizar e gerenciar metadados em mais de 50 formatos de arquivo, incluindo RAR, ZIP e 7z, sem exigir extração do arquivo.

Q: Como obtenho uma licença para acesso total?
A: Visite a GroupDocs purchase page para adquirir uma licença temporária ou permanente; um teste gratuito está disponível para desenvolvimento.

Q: Posso usar o GroupDocs.Metadata com outros tipos de arquivo além de RAR?
A: Sim, a mesma API suporta ZIP, 7z e vários outros formatos de arquivo, permitindo uma base de código unificada para todas as tarefas de metadados de arquivos.

Q: Quais são as armadilhas comuns ao lidar com arquivos RAR grandes?
A: Os principais problemas são consumo de memória e limites de manipuladores de arquivos; mitigue-os processando entradas uma‑por‑uma e fechando o objeto Metadata prontamente.

Q: Onde posso obter suporte se encontrar problemas?
A: O GroupDocs free support forum oferece assistência tanto dos engenheiros do fornecedor quanto da comunidade.

Recursos

Conclusão

Agora você sabe como usar o GroupDocs.Metadata para extrair metadados abrangentes de arquivos RAR, incluindo como obter o tamanho compactado java para cada entrada. Integre esse padrão em seus projetos para ampliar as capacidades de gerenciamento de dados, melhorar a verificação de backups e enriquecer as experiências de busca de arquivos sem a sobrecarga de extração completa.

Próximos Passos

Explore recursos adicionais, como atualizar comentários de entradas ou extrair informações de checksum na documentação oficial, e considere combinar essa extração de metadados com seu pipeline de indexação existente para um repositório de arquivos totalmente pesquisável.

Last Updated: 2026-06-22
Tested With: GroupDocs.Metadata 24.12 for Java
Author: 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());
}

Tutoriais Relacionados