Работа с архивами GZIP

Обзор

Aspose.zip для Java API позволяет работать с созданием и управлением архивами GZIP в ваших приложениях без необходимости каких -либо других сторонних приложений. Aspose.zip API предоставляет gziparchive класс для работы с архивами Gzip. Этот класс предоставляет различные методы для выполнения операций в архивах.

Алгоритм сжатия GZIP основан на алгоритме дефляции, который представляет собой комбинацию кодирования LZ77 и Huffman.

Сжатие файла

В следующем примере кода показано, как сжать файл с помощью gziparchive экземпляры.

1Попробуйте (gziparchive archive = new gziparchive ()) {
2    archive.setsource (datadir + "data.bin");
3    archive.save (datadir + "archive.gz");
4}

Открыть архив Gzip

В следующем примере кода показано, как открыть архив GZIP.

 1try (gziparchive archive = new gziparchive (datadir + "archive.gz")) {
 2    try (fileOutputStream Extracted = new FileOutputStream (datadir + "data.bin")) {
 3        InputStream unpacked = archive.open ();
 4        байт [] b = новый байт [8192];
 5        int bytesread;
 6        while (0 <(bytesread = unpacked.read (b, 0, b.length))) {
 7            Извлечен.
 8        }
 9    }
10} catch (ioException ex) {
11    System.out.println (Ex);
12}

Извлечение в выходной поток

В следующем примере кода показано, как открыть архив из потока и извлечь его в BytearrayOutputStream.

 1BytearRayOutputStream outpertStream = new BytearRayOutputStream ();
 2Try (gziparchive archive = new gziparchive (new FileInputStream (datadir + "sample.gz"))) {
 3    байт [] b = новый байт [8192];
 4    int bytesread;
 5    Inputstream archivestream = archive.open ();
 6    while (0 <(bytesread = archivestream.read (b, 0, b.length))) {
 7        outputStream.Write (b, 0, BytesRead);
 8    }
 9    System.out.println (archive.getName ());
10} catch (ioException ex) {
11    System.out.println (Ex);
12}

Сохранить в выходной поток

В следующем примере кода показано, как открыть и сохранить в outputstream.

1BytearRayOutputStream outpertStream = new BytearRayOutputStream ();
2Попробуйте (gziparchive archive = new gziparchive ()) {
3    archive.setsource (новый файл (datadir + "data.bin"));
4    archive.save (outputstream);
5}
Subscribe to Aspose Product Updates

Get monthly newsletters & offers directly delivered to your mailbox.