zipをtar.gzに変換します
Tar.GZは、Linuxの世界で最も広範囲にわたる圧縮アーカイブ形式であり、ZipはWindowsで最も人気があります。 zipアーカイブをtar.gzに変換したい場合は、この記事をお読みください。
変換
Aspose.Zip APIは、 Savegzippedを提供して、その場でTARアーカイブを圧縮します。 ZIPアーカイブからメモリへのエントリを中間ストレージに保存せずに抽出し、すぐにTARアーカイブに渡すことができます。
すべてのエントリのコンテンツを保持するのに十分な仮想メモリがあることを確認してください。
エントリを転送
次のコードの例は、ZIPアーカイブからエントリを抽出し、すぐにtar.gzアーカイブに配置する方法を示しています。 ディレクトリであるエントリはスキップされますが、相対パスを尊重してファイルが追加されます。
1try(Archive source = new Archive( "source.zip")){
2 try(tararchive tar = new Tararchive()){
3 for(archiveentry entry:source.getentries()){
4 if(!entry.isdirectory()){
5 bytearrayoutputStream out = new bytearrayoutputStream();
6 try(inputstream mem = entry.open()){
7 byte [] b = new byte [8192];
8 int bytesRead;
9 while(0 <(bytesread = mem.read(b、0、b.length))){
10 out.write(b、0、bytesread);
11 }
12 }
13 tar.createentry(entry.getName()、new bytearrayinputStream(out.tobytearray()));
14 }
15 }
16
17 tar.saveGzipped("result.tar.gz");
18 }
19} catch(ioException ex){
20 System.out.println(ex);
21}