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
Implements
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
sourceStream’ is not seekable.
sourceStream’ is null.
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
path’ is null.
Panggilan tidak memiliki izin yang diperlukan untuk mengakses.
path’ kosong, hanya mengandung ruang putih, atau mengandung karakter yang tidak sah.
Akses ke file path’ ditolak.
Contohnya, pada platform berbasis Windows, jalur harus kurang dari 248 karakter, dan nama file harus kurang dari 260 karakter.
File di path’ mengandung kolom (:) di tengah string.
File tersebut tidak ditemukan.
Jalur yang ditentukan tidak sah, misalnya berada di drive yang tidak dipetakan.
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
parts’ is null.
parts’ has no entries.
Panggilan tidak memiliki izin yang diperlukan untuk mengakses.
Jalan ke file kosong, hanya mengandung ruang putih, atau mengandung karakter yang tidak sah.
Akses ke file tersebut ditolak.
Contohnya, pada platform berbasis Windows, jalur harus kurang dari 248 karakter, dan nama file harus kurang dari 260 karakter.
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
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
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
Jalan menuju directory’ tidak sah, misalnya berada pada drive yang tidak dipetakan.
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
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
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
fileInfo’ is read-only or is a directory.
Jalur yang ditentukan tidak sah, misalnya berada di drive yang tidak dipetakan.
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
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
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
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
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
path’ is null.
Panggilan tidak memiliki izin yang diperlukan untuk mengakses.
path’ kosong, hanya mengandung ruang putih, atau mengandung karakter yang tidak sah.
Akses ke file path’ ditolak.
Contohnya, pada platform berbasis Windows, jalur harus kurang dari 248 karakter, dan nama file harus kurang dari 260 karakter.
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
destinationDirectory’ is null.
Contohnya, pada platform berbasis Windows, jalur harus kurang dari 248 karakter dan nama file harus kurang dari 260 karakter.
Panggilan tidak memiliki izin yang diperlukan untuk mengakses direktori yang ada.
Jika direktori tidak ada, jalur ini mengandung karakter kolon (:) yang bukan bagian dari label drive (“C:”).
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 (:).
Direktori yang ditentukan oleh jalur adalah file. -or- Nama jaringan tidak diketahui.
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
output’ does not support seeking.
output’ is null.
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
destinationFileName’ is null.
Panggilan tidak memiliki izin yang diperlukan untuk mengakses.
destinationFileName’ kosong, hanya mengandung ruang putih, atau mengandung karakter yang tidak sah.
Akses ke file destinationFileName’ ditolak.
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.
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
Arsip ini dibuka dari sumber yang ada.
destinationDirectory’ is null.
Panggilan tidak memiliki izin yang diperlukan untuk mengakses direktori.
destinationDirectory’ contains invalid characters such as “, >, <, or |.
Jalur yang ditentukan melebihi panjang maksimum yang ditentukan oleh sistem.