GZIPアーカイブを使用します
Contents
[
Hide
Show
]概要
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(b、0、b.length))){
7 抽出された.write(b、0、bytesread);
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(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 outputStream = new bytearrayoutputStream();
2try(gziparchive archive = new gziparchive()){
3 archive.setsource(new file(datadir + "data.bin"));
4 archive.save(outputStream);
5}