zipを7zに変換します
ZIPアーカイブを7Zに変換したい場合は、この記事をお読みください。
Aspose.Zipにより、LZMA、LZMA2、PPMD、およびBZIP2圧縮アルゴリズムを使用して7Zアーカイブを作成できるようになりました。
変換
Aspose.Zip APIは、7Zアーカイブで動作する SevenZiparchiveクラスを提供します。 メモリを中間ストレージに保存せずにメモリへのエントリを抽出し、すぐに7Zアーカイブに渡すことができます。
すべてのエントリのコンテンツを保持するのに十分な仮想メモリがあることを確認してください。
エントリを転送
次のコードの例は、ZIPアーカイブからエントリを抽出し、すぐに7Zアーカイブに配置する方法を示しています。 7Zエントリは、ソースアーカイブにどのアルゴリズムを持っていたかに関係なく、 LZMA2メソッドで圧縮されます。 ディレクトリであるエントリはスキップされますが、相対パスを尊重してファイルが追加されます。
1try(Archive source = new Archive( "source.zip")){
2 try(sevenziparchive archive = new SevenZiparchive(new SevenZipentrySettings(new SevenZiplzma2CompressIonsettings())){
3 for(archiveentry entry:source.getentries()){
4 if(!entry.isdirectory()){
5 try(bytearrayoutputStream out = new bytearrayoutputStream()){
6 entry.extraw(out);
7 try(bytearrayinputStream in = new bytearrayinputStream(out.tobytearray())){
8 archive.createentry(entry.getName()、in);
9 }
10 }
11 }
12 }
13 archive.save( "result.7z");
14 }
15} catch(ioException ex){
16}