Робота з архівами GZIP

Огляд

Aspose.zip для Java API дозволяє співпрацювати зі створенням та управлінням архівами GZIP у ваших заявах без необхідності будь -яких інших сторонніх заявок. Aspose.zip API надає gziparchive класу для роботи з архівами gzip. Цей клас надає різні методи виконання операцій на архівах.

Алгоритм стиснення GZIP заснований на дефлатному алгоритмі, який є поєднанням LZ77 та кодування Хаффмана.

Стисніть файл

Наступний приклад коду показує, як стиснути файл за допомогою екземпляра Gziparchive.

1спробуйте (gziparchive archive = новий gziparchive ()) {
2    Archive.setsource (DataDir + "data.bin");
3    Archive.Save (Datadir + "Archive.gz");
4}

Відкрийте архів GZIP

Наступний приклад коду показує, як відкрити архів GZIP.

 1спробуйте (gziparchive archive = новий gziparchive (dataDir + "archive.gz")) {
 2    спробуйте (fileOutputStream extalted = новий FileOutputStream (DataDir + "data.bin")) {
 3        InputStream розпаковано = archive.open ();
 4        байт [] b = новий байт [8192];
 5        int bytesread;
 6        while (0 <(bytesread = inpacked.read (b, 0, b.length))) {
 7            витягнутий.write (b, 0, bytesread);
 8        }
 9    }
10} улов (IOException ex) {
11    System.out.println (ex);
12}

Витяг до виведення потоку

Наступний приклад коду показує, як відкрити архів із потоку та витягнути його до ByTearrayOutputStream.

 1Bytearrayoutputstream outputStream = новий ByTeArrayOutputStream ();
 2спробуйте (gziparchive archive = новий gziparchive (новий 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} улов (IOException ex) {
11    System.out.println (ex);
12}

Зберегти до вихідного потоку

Наступний приклад коду показує, як відкрити та зберегти на OutputStream.

1Bytearrayoutputstream outputStream = новий ByTeArrayOutputStream ();
2спробуйте (gziparchive archive = новий 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.