Робота з архівами 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}