7Zアーカイブを使用します
概要
7-ZIPは、圧縮率が高いファイルアーキバーです。 Aspose.Zip APIでは、他のサードパーティアプリケーションを必要とせずに、アプリケーションで7-ZIPアーカイブの作成と管理と連携できます。 Aspose.Zip APIは SevenZiparchiveクラスを提供して、7-ZIPアーカイブで動作します。 このクラスは、アーカイブで操作を実行するためのさまざまな方法を提供します。 APIは SevenZiparchiveEntryクラスを提供して、7Zアーカイブ内の単一のファイルを表します。
7-zipシングルエントリを作成
次のコード例は、Sevenziparchiveインスタンスを使用して7-zipエントリを作成する方法を示しています。
1try(fileoutputStream sevenzipfile = new fileoutputStream( "archive.7z")){
2 try(sevenziparchive archive = new SevenZiparchive()){
3 archive.createentry( "data.bin"、 "file.dat");
4 archive.save(sevenzipfile);
5 }
6} catch(ioException ex){
7}
7-zipアーカイブエントリを作成
SevenZiparchiveクラスは、指定された指定されたディレクトリにファイルとディレクトリを再帰的に追加するためのCreateentriesメソッドを提供します。 次のコードの例は、7-ZIPアーカイブエントリを作成する方法を示しています。
1try(sevenziparchive archive = new SevenZiparchive()){
2 archive.createentries( "datadir");
3 archive.save( "sevenzip.7z");
4}
7-zip暗号化設定
Asopse.Zip APIは、 SevenzipaeSencryptionsettings7ZアーカイブのAES暗号化または復号化の設定を提供するクラスを提供します。次のコード例は、AES暗号化設定を提供する方法を示しています。
1try(sevenziparchive archive = new SevenZiparchive(新しいSevenZipentrySettings(null、new Sevenzipaesencryptionsettings( "p@s $"))){
2 archive.createentry( "data.bin"、new bytearrayinputStream(new byte [] {0x00、(byte)0xff}));
3 archive.save( "archive.7z");
4}
AES-256は、7Zアーカイブの唯一の可能な暗号化方法です。
LZMA圧縮を備えた7-ZIPアーカイブ
次のコードの例は、LZMA圧縮とAES暗号化を備えた7Zアーカイブを作成する方法を示しています。
1try(fileoutputStream sevenzipfile = new fileoutputStream( "archive.7z")){
2 try(sevenziparchive archive = new SevenZiparchive()){
3 archive.createentry( "entry1.bin"、
4 new bytearrayinputStream(new byte [] {0x00、(byte)0xff})、
5 新しいsevenzipentrysettings(新しいsevenziplzmacompressionsettings()、
6 新しいsevenzipaesencryptionsettings( "test1"))、
7 新しいファイル( "data1.bin"));
8 archive.save(sevenzipfile);
9 }
10} catch(ioException ex){
11}
同様に、BZIP2、PPMD、LZMA2圧縮法で7Zアーカイブを構成したり、圧縮せずにファイルを保存したりできます。
エントリの異なるパスワードの設定
次のコード例は、各エントリの異なるパスワードで暗号化されたエントリを使用してアーカイブを作成する方法を示しています。
1try(fileoutputStream sevenzipfile = new fileoutputStream( "archive.7z")){
2 ファイルfi1 = new file( "data1.bin");
3 ファイルfi2 = new file( "data2.bin");
4 ファイルfi3 = new file( "data3.bin");
5
6 try (SevenZipArchive archive = new SevenZipArchive()) {
7 archive.createEntry("entry1.bin", fi1, false,
8 new SevenZipEntrySettings(new SevenZipStoreCompressionSettings(),
9 new SevenZipAESEncryptionSettings("test1")));
10 archive.createEntry("entry2.bin", fi2, false,
11 new SevenZipEntrySettings(new SevenZipStoreCompressionSettings(),
12 new SevenZipAESEncryptionSettings("test2")));
13 archive.createEntry("entry3.bin", fi3, false,
14 new SevenZipEntrySettings(new SevenZipStoreCompressionSettings(),
15 new SevenZipAESEncryptionSettings("test3")));
16 archive.save(sevenZipFile);
17 }
18} catch(ioException ex){
19}
7Zアーカイブの抽出
Aspose.Zipは、LZMA、LZMA2、BZIP2、およびPPMD圧縮アーカイブを抽出できます。
次のコードの例は、7Zアーカイブをディレクトリに抽出する方法を示しています。
1try(sevenziparchive archive = new SevenZiparchive( "archive.7z")){
2 archive.extracttodirectory( "extractionfolder");
3}