Class SevenZipArchive

Class SevenZipArchive

Nama dari : Aspose.Zip.SevenZip Perhitungan: Aspose.Zip.dll (25.5.0)

Kelas ini mewakili file arkib 7z. Gunakan untuk menyusun dan mengekstrak arkib 7z.

public class SevenZipArchive : IArchive, IDisposable

Inheritance

object SevenZipArchive

Implements

IArchive , IDisposable

anggota yang diwarisi

object.GetType() , object.MemberwiseClone() , object.ToString() , object.Equals(object?) , object.Equals(object?, object?) , object.ReferenceEquals(object?, object?) , object.GetHashCode()

Constructors

SevenZipArchive(SevenZipEntrySettings)

Inicialisasi instansi baru dari kelas Aspose.Zip.SevenZip.SevenZipArchive dengan pengaturan pilihan untuk entri.

public SevenZipArchive(SevenZipEntrySettings newEntrySettings = null)

Parameters

newEntrySettings SevenZipEntrySettings

Tetapan kompresi dan enkripsi yang digunakan untuk item Aspose.Zip.SevenZip.SevenZipArchiveEntry yang baru ditambahkan.Jika tidak dinyatakan, kompresi LZMA tanpa enkripsi akan digunakan.

Examples

Contoh berikut menunjukkan cara mengkompresi file tunggal dengan pengaturan default: Kompresi LZMA tanpa enkripsi.

using (FileStream sevenZipFile = File.Open("archive.7z", FileMode.Create))
{
    using (var archive = new SevenZipArchive())
    {
        archive.CreateEntry("data.bin", "file.dat");
        archive.Save(sevenZipFile);
    }
}

SevenZipArchive(Stretch dan Stretch)

Inicialisasi contoh baru dari kelas Aspose.Zip.SevenZip.SevenZipArchive dan menyusun daftar entri yang dapat dikeluarkan dari arkib.

public SevenZipArchive(Stream sourceStream, string password = null)

Parameters

sourceStream Stream

sumber dari arkib tersebut.

password string

Kata sandi pilihan untuk decryption.Jika nama file disulitkan, itu harus hadir.

Examples

using (SevenZipArchive archive = new SevenZipArchive(File.OpenRead("archive.7z")))
{
    archive.ExtractToDirectory("C:\\extracted");
}

Remarks

Konstruktor ini tidak dekompresi input apapun. lihat Aspose.Zip.SevenZip.SevenZipArchive.ExtractToDirectory(System.String,System.String) metode untuk dekompresi.

Exceptions

ArgumentException

sourceStream’ is not seekable.

ArgumentNullException

sourceStream’ is null.

NotImplementedException

Arsip ini mengandung lebih dari satu koder. sekarang hanya kompresi LZMA didukung.

SevenZipArchive(String dan String)

Inicialisasi contoh baru dari kelas Aspose.Zip.SevenZip.SevenZipArchive dan menyusun daftar entri yang dapat dikeluarkan dari arkib.

public SevenZipArchive(string path, string password = null)

Parameters

path string

Kelayakan penuh atau jalur relatif ke file arkib.

password string

Kata sandi pilihan untuk decryption.Jika nama file disulitkan, itu harus hadir.

Examples

using (SevenZipArchive archive = new SevenZipArchive("archive.7z"))
{
    archive.ExtractToDirectory("C:\\extracted");
}

Remarks

Konstruktor ini tidak dekompresi input apapun. lihat Aspose.Zip.SevenZip.SevenZipArchive.ExtractToDirectory(System.String,System.String) metode untuk dekompresi.

Exceptions

ArgumentNullException

path’ is null.

SecurityException

Panggilan tidak memiliki izin yang diperlukan untuk mengakses.

ArgumentException

path’ kosong, hanya mengandung ruang putih, atau mengandung karakter yang tidak sah.

UnauthorizedAccessException

Akses ke file path’ ditolak.

PathTooLongException

Contohnya, pada platform berbasis Windows, jalur harus kurang dari 248 karakter, dan nama file harus kurang dari 260 karakter.

NotSupportedException

File di path’ mengandung kolom (:) di tengah string.

FileNotFoundException

File tersebut tidak ditemukan.

DirectoryNotFoundException

Jalur yang ditentukan tidak sah, misalnya berada di drive yang tidak dipetakan.

IOException

File sudah terbuka.

SevenZipArchive(String[ ], dan string)

Inicialisasi contoh baru dari kelas Aspose.Zip.SevenZip.SevenZipArchive dari arsip multi-volume 7z dan menyusun daftar entri yang dapat dikeluarkan dari arsip.

public SevenZipArchive(string[] parts, string password = null)

Parameters

parts string [ ]

Langkah-langkah ke setiap segmen multi-volume 7z arkib mematuhi perintah

password string

Kata sandi pilihan untuk decryption.Jika nama file disulitkan, itu harus hadir.

Examples

using (SevenZipArchive archive = new SevenZipArchive(new string[] { "multi.7z.001", "multi.7z.002", "multi.7z.003" }))
{
    archive.ExtractToDirectory("C:\\extracted");
}

Exceptions

ArgumentNullException

parts’ is null.

ArgumentException

parts’ has no entries.

SecurityException

Panggilan tidak memiliki izin yang diperlukan untuk mengakses.

ArgumentException

Jalan ke file kosong, hanya mengandung ruang putih, atau mengandung karakter yang tidak sah.

UnauthorizedAccessException

Akses ke file tersebut ditolak.

PathTooLongException

Contohnya, pada platform berbasis Windows, jalur harus kurang dari 248 karakter, dan nama file harus kurang dari 260 karakter.

NotSupportedException

File pada jalur mengandung kolom (:) di tengah string.

Properties

Entries

Dapatkan entri dari Aspose.Zip.SevenZip.SevenZipArchiveEntry jenis yang membentuk arkib.

public ReadOnlyCollection<sevenziparchiveentry> Entries { get; }

Nilai Properti

ReadOnlyCollection dan lt; SevenZipArchiveEntry >

NewEntrySettings

Tetapan kompresi dan enkripsi yang digunakan untuk item Aspose.Zip.SevenZip.SevenZipArchiveEntry yang baru ditambahkan.

public SevenZipEntrySettings NewEntrySettings { get; }

Nilai Properti

SevenZipEntrySettings

Methods

CreateEntries(Informasi lengkap, bool)

Menambah ke arkib semua file dan direktori secara berulang di direktori yang diberikan.

public SevenZipArchive CreateEntries(DirectoryInfo directory, bool includeRootDirectory = true)

Parameters

directory DirectoryInfo

direktori untuk kompresi.

includeRootDirectory bool

Menunjukkan apakah untuk memasukkan direktori akar itu sendiri atau tidak.

Returns

SevenZipArchive

Arsip dengan entri yang disusun.

Examples

using (SevenZipArchive archive = new SevenZipArchive())
{
    DirectoryInfo folder = new DirectoryInfo("C:\folder");
    archive.CreateEntries(folder);
    archive.Save("folder.7z");
}

Exceptions

DirectoryNotFoundException

Jalan menuju directory’ tidak sah, misalnya berada pada drive yang tidak dipetakan.

SecurityException

Panggilan tidak memiliki izin yang diperlukan untuk mengakses directory'.

CreateEntries(Kekuatan, Bool)

Menambah ke arkib semua file dan direktori secara berulang di direktori yang diberikan.

public SevenZipArchive CreateEntries(string sourceDirectory, bool includeRootDirectory = true)

Parameters

sourceDirectory string

direktori untuk kompresi.

includeRootDirectory bool

Menunjukkan apakah untuk memasukkan direktori akar itu sendiri atau tidak.

Returns

SevenZipArchive

Arsip dengan entri yang disusun.

Examples

Menyusun file 7z dengan kompresi LZMA2.

using (SevenZipArchive archive = new SevenZipArchive(new SevenZipEntrySettings(new SevenZipLZMACompressionSettings())))
{
    archive.CreateEntries("C:\folder");
    archive.Save("folder.7z");
}

CreateEntry(string, FileInfo, bool, SevenZipEntrySettings)

Mencipta satu entri dalam arkib.

public SevenZipArchiveEntry CreateEntry(string name, FileInfo fileInfo, bool openImmediately = false, SevenZipEntrySettings newEntrySettings = null)

Parameters

name string

Nama dari pintu masuk.

fileInfo FileInfo

Metadata file harus dikompresi.

openImmediately bool

Memang benar, jika Anda membuka file dengan serta-merta, jika tidak, buka file pada penyimpanan.

newEntrySettings SevenZipEntrySettings

Seting kompresi dan enkripsi digunakan untuk menambahkan Aspose.Zip.SevenZip.SevenZipArchiveEntry item.

Returns

SevenZipArchiveEntry

7 Instansi masuk Zip

Examples

Menyusun arkib dengan entri yang disulitkan dengan kata sandi yang berbeda masing-masing.

using (FileStream sevenZipFile = File.Open("archive.7z", FileMode.Create))
{
    FileInfo fi1 = new FileInfo("data1.bin");
    FileInfo fi2 = new FileInfo("data2.bin");
    FileInfo fi3 = new FileInfo("data3.bin");
    using (var archive = new SevenZipArchive())
    {
        archive.CreateEntry("entry1.bin", fi1, false, new SevenZipEntrySettings(new SevenZipStoreCompressionSettings(), new SevenZipAESEncryptionSettings("test1")));
        archive.CreateEntry("entry2.bin", fi2, false, new SevenZipEntrySettings(new SevenZipStoreCompressionSettings(), new SevenZipAESEncryptionSettings("test2")));
        archive.CreateEntry("entry3.bin", fi3, false, new SevenZipEntrySettings(new SevenZipStoreCompressionSettings(), new SevenZipAESEncryptionSettings("test3")));
        archive.Save(sevenZipFile);
    }
}

Remarks

Nama input hanya ditetapkan dalam parameter. nama file yang disediakan dalam parameter tidak mempengaruhi nama input.

Jika file dibuka dengan segera dengan parameter itu diblokir sampai arkib disimpan.

Exceptions

UnauthorizedAccessException

fileInfo’ is read-only or is a directory.

DirectoryNotFoundException

Jalur yang ditentukan tidak sah, misalnya berada di drive yang tidak dipetakan.

IOException

File sudah terbuka.

CreateEntry(string, Stream, SevenZipEntrySettings, FileSystemInfo)

Mencipta satu entri dalam arkib.

public SevenZipArchiveEntry CreateEntry(string name, Stream source, SevenZipEntrySettings newEntrySettings, FileSystemInfo fileInfo)

Parameters

name string

Nama dari pintu masuk.

source Stream

Langkah masuk untuk masuk.

newEntrySettings SevenZipEntrySettings

Seting kompresi dan enkripsi digunakan untuk menambahkan Aspose.Zip.SevenZip.SevenZipArchiveEntry item.

fileInfo FileSystemInfo

Metadata file atau folder untuk dikompresi.

Returns

SevenZipArchiveEntry

7 Instansi masuk.

Examples

Komposisi file dengan input LZMA2 dikompresi.

using (FileStream sevenZipFile = File.Open("archive.7z", FileMode.Create))
{
    using (var archive = new SevenZipArchive())
    {
        archive.CreateEntry("entry1.bin", new MemoryStream(new byte[] {0x00, 0xFF}), new SevenZipEntrySettings(new SevenZipLZMA2CompressionSettings(), new SevenZipAESEncryptionSettings("test1")), new FileInfo("data1.bin")); 
        archive.Save(sevenZipFile);
    }
}

Remarks

Nama input hanya ditetapkan dalam parameter. nama file yang disediakan dalam parameter tidak mempengaruhi nama input.

dapat merujuk ke System.IO.DirectoryInfo jika entri adalah direktori.

Exceptions

InvalidOperationException

Kedua source’ dan fileInfo’ adalah null atau source’ adalah null dan fileInfo’ adalah untuk direktori.

CreateEntry(String, Stream, SevenZipEntrySettings)

Mencipta satu entri dalam arkib.

public SevenZipArchiveEntry CreateEntry(string name, Stream source, SevenZipEntrySettings newEntrySettings = null)

Parameters

name string

Nama dari pintu masuk.

source Stream

Langkah masuk untuk masuk.

newEntrySettings SevenZipEntrySettings

Seting kompresi dan enkripsi digunakan untuk menambahkan Aspose.Zip.SevenZip.SevenZipArchiveEntry item.

Returns

SevenZipArchiveEntry

Instansi masuk Zip.

Examples

Komposisi 7z archive dengan LZMA2 kompresi dan enkripsi semua entri.

using (var archive = new SevenZipArchive(new SevenZipEntrySettings(new SevenZipLZMA2CompressionSettings(), new SevenZipAESEncryptionSettings("p@s$"))))
{
    archive.CreateEntry("data.bin", new MemoryStream(new byte[] {0x00, 0xFF} ));
    archive.Save("archive.7z");
}

CreateEntry(string, string, bool, SevenZipEntrySettings)

Mencipta satu entri dalam arkib.

public SevenZipArchiveEntry CreateEntry(string name, string path, bool openImmediately = false, SevenZipEntrySettings newEntrySettings = null)

Parameters

name string

Nama dari pintu masuk.

path string

Nama file baru, atau nama file relatif yang akan dikompresi.

openImmediately bool

Memang benar, jika Anda membuka file dengan serta-merta, jika tidak, buka file pada penyimpanan.

newEntrySettings SevenZipEntrySettings

Seting kompresi dan enkripsi digunakan untuk menambahkan Aspose.Zip.SevenZip.SevenZipArchiveEntry item.

Returns

SevenZipArchiveEntry

Instansi masuk Zip.

Examples

using (FileStream sevenZipFile = File.Open("archive.7z", FileMode.Create))
{
    using (var archive = new SevenZipArchive(new SevenZipEntrySettings(new SevenZipLZMA2CompressionSettings())))
    {
        archive.CreateEntry("data.bin", "file.dat");
        archive.Save(sevenZipFile);
    }
}

Remarks

Nama input hanya ditetapkan dalam parameter. nama file yang disediakan dalam parameter tidak mempengaruhi nama input.

Jika file dibuka dengan segera dengan parameter itu diblokir sampai arkib disimpan.

Exceptions

ArgumentNullException

path’ is null.

SecurityException

Panggilan tidak memiliki izin yang diperlukan untuk mengakses.

ArgumentException

path’ kosong, hanya mengandung ruang putih, atau mengandung karakter yang tidak sah.

UnauthorizedAccessException

Akses ke file path’ ditolak.

PathTooLongException

Contohnya, pada platform berbasis Windows, jalur harus kurang dari 248 karakter, dan nama file harus kurang dari 260 karakter.

NotSupportedException

File di path’ mengandung kolom (:) di tengah string.

Dispose()

Melaksanakan tugas-tugas yang ditentukan oleh aplikasi yang terkait dengan pembebasan, pembebasan, atau reset sumber daya yang tidak dikelola.

public void Dispose()

Dispose(Bool)

Melaksanakan tugas-tugas yang ditentukan oleh aplikasi yang terkait dengan pembebasan, pembebasan, atau reset sumber daya yang tidak dikelola.

protected virtual void Dispose(bool disposing)

Parameters

disposing bool

Apakah sumber daya yang dikelola harus dihapus.

ExtractToDirectory(String dan String)

Mengekstrak semua file dalam arkib ke direktori yang disediakan.

public void ExtractToDirectory(string destinationDirectory, string password = null)

Parameters

destinationDirectory string

Jalan menuju direktori untuk menempatkan file yang dikeluarkan.

password string

Pilihan kata sandi untuk decryption konten.

Examples

using (var archive = new SevenZipArchive("archive.7z")) 
{ 
   archive.ExtractToDirectory("C:\extracted");
}

Remarks

Jika direktori tidak ada, itu akan dibuat.

Jika nama file disulitkan, berikan kata sandi di Aspose.Zip.Seven ZipArchive.#ctor(System.String,Systems. String) atau __ WL51.Zib.sevenZips.

Exceptions

ArgumentNullException

destinationDirectory’ is null.

PathTooLongException

Contohnya, pada platform berbasis Windows, jalur harus kurang dari 248 karakter dan nama file harus kurang dari 260 karakter.

SecurityException

Panggilan tidak memiliki izin yang diperlukan untuk mengakses direktori yang ada.

NotSupportedException

Jika direktori tidak ada, jalur ini mengandung karakter kolon (:) yang bukan bagian dari label drive (“C:”).

ArgumentException

destinationDirectory’ is a zero-length string, contains only white space, or contains one or more invalid characters. You can query for invalid characters by using the System.IO.Path.GetInvalidPathChars method. -or- path is prefixed with, or contains, only a colon character (:).

IOException

Direktori yang ditentukan oleh jalur adalah file. -or- Nama jaringan tidak diketahui.

InvalidDataException

Arsip ini sudah rusak.

Save(Stream)

Menjimatkan arsip 7z ke arus yang disediakan.

public void Save(Stream output)

Parameters

output Stream

Destinasi dari Stream.

Examples

using (FileStream sevenZipFile = File.Open("archive.7z", FileMode.Create))
{
  using (FileStream source = File.Open("data.bin", FileMode.Open, FileAccess.Read))
  {
    using (var archive = new SevenZipArchive())
    {
      archive.CreateEntry("data", source);
      archive.Save(sevenZipFile);
    }
  }
}

Remarks

harus dapat dicari.

Exceptions

ArgumentException

output’ does not support seeking.

ArgumentNullException

output’ is null.

InvalidOperationException

Encoder gagal mengkompresi data.

Save(String)

Simpan file ke file tujuan yang disediakan.

public void Save(string destinationFileName)

Parameters

destinationFileName string

Jika nama file yang ditentukan menunjuk ke file yang ada, itu akan ditulis kembali.

Examples

using (FileStream source = File.Open("data.bin", FileMode.Open, FileAccess.Read))
{
   using (var archive = new SevenZipArchive(new SevenZipEntrySettings(new SevenZipLZMACompressionSettings())))
   {
      archive.CreateEntry("data", source);
      archive.Save("archive.7z");
   }
}

Remarks

Namun, ini tidak disarankan karena pendekatan ini menggunakan salinan ke file sementara.

Exceptions

ArgumentNullException

destinationFileName’ is null.

SecurityException

Panggilan tidak memiliki izin yang diperlukan untuk mengakses.

ArgumentException

destinationFileName’ kosong, hanya mengandung ruang putih, atau mengandung karakter yang tidak sah.

UnauthorizedAccessException

Akses ke file destinationFileName’ ditolak.

PathTooLongException

Destinasi destinationFileName’, nama file, atau keduanya melebihi panjang maksimum yang ditentukan oleh sistem. misalnya, pada platform Windows, jalur harus kurang dari 248 karakter, dan nama file harus kurang dari 260 karakter.

NotSupportedException

File di destinationFileName’ mengandung kolom (:) di tengah string.

SaveSplit(String, SplitSevenZipArchiveSaveOptions)

Menyimpan arsip multi-volume ke direktori tujuan yang disediakan.

public void SaveSplit(string destinationDirectory, SplitSevenZipArchiveSaveOptions options)

Parameters

destinationDirectory string

Jalan menuju direktori di mana segmen arkib harus dibuat.

options SplitSevenZipArchiveSaveOptions

Pilihan untuk menyimpan file, termasuk nama file.

Examples

using (SevenZipArchive archive = new SevenZipArchive())
{
    archive.CreateEntry("entry.bin", "data.bin");
    archive.SaveSplit(@"C:\Folder",  new SplitSevenZipArchiveSaveOptions("volume", 65536));
}

Remarks

Metode ini terdiri dari beberapa () file filename.7z.001, filename.7z.002, …, filename.7z.(n).

Tidak dapat membuat arsip multi-volume yang ada.

Exceptions

InvalidOperationException

Arsip ini dibuka dari sumber yang ada.

ArgumentNullException

destinationDirectory’ is null.

SecurityException

Panggilan tidak memiliki izin yang diperlukan untuk mengakses direktori.

ArgumentException

destinationDirectory’ contains invalid characters such as “, >, <, or |.

PathTooLongException

Jalur yang ditentukan melebihi panjang maksimum yang ditentukan oleh sistem.

 Indonesia