GZIPアーカイブを使用します

概要

Java API用のAsopse.Zipは、他のサードパーティアプリケーションを必要とせずに、アプリケーションでGZIPアーカイブの作成と管理に連絡できます。 Aspose.Zip APIは GZiparchiveクラスをGZIPアーカイブで動作させるために提供します。このクラスは、アーカイブで操作を実行するためのさまざまな方法を提供します。

GZIP圧縮アルゴリズムは、LZ77とHuffmanコーディングの組み合わせであるDERLATEアルゴリズムに基づいています。

ファイルを圧縮

次のコード例は、Gziparchiveインスタンスを使用してファイルを圧縮する方法を示しています。

1try(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抽出= new fileoutputStream(datadir + "data.bin")){
 3        inputstream unpacked = archive.open();
 4        byte [] b = new byte [8192];
 5        int bytesRead;
 6        while(0 <(bytesread = unpacked.read(b0b.length))){
 7            抽出された.write(b0bytesread);
 8        }
 9    }
10} catch(ioException ex){
11    System.out.println(ex);
12}

出力ストリームへの抽出

次のコードの例は、ストリームからアーカイブを開き、それをbytearrayoutputStreamに抽出する方法を示しています。

 1bytearrayoutputStream outputStream = new bytearrayoutputStream();
 2try(gziparchive archive = new gziparchive(new fileinputStream(datadir + "sample.gz")){
 3    byte [] b = new byte [8192];
 4    int bytesRead;
 5    inputstream archiveStream = archive.open();
 6    while(0 <(bytesread = archiveStream.read(b0b.length))){
 7        outputStream.write(b0bytesread);
 8    }
 9    System.out.println(archive.getName());
10} catch(ioException ex){
11    System.out.println(ex);
12}

出力ストリームに保存

次のコードの例は、OutputStreamを開いて保存する方法を示しています。

1bytearrayoutputStream outputStream = new bytearrayoutputStream();
2try(gziparchive archive = new gziparchive()){
3    archive.setsource(new file(datadir + "data.bin"));
4    archive.save(outputStream);
5}
Subscribe to Aspose Product Updates

Get monthly newsletters & offers directly delivered to your mailbox.