Archive.Archive
isi
[
bersembunyi
]Archive(ArchiveEntrySettings)
Menginisialisasi instance baru dariArchive
kelas dengan pengaturan opsional untuk entri-entrinya.
public Archive(ArchiveEntrySettings newEntrySettings = null)
Parameter | Jenis | Keterangan |
---|---|---|
newEntrySettings | ArchiveEntrySettings | Pengaturan kompresi dan enkripsi digunakan untuk yang baru ditambahkanArchiveEntry items. Jika tidak ditentukan, kompresi Deflate paling umum tanpa enkripsi akan digunakan. |
Contoh
Contoh berikut menunjukkan cara mengompres satu file dengan pengaturan default.
using (FileStream zipFile = File.Open("archive.zip", FileMode.Create))
{
using (var archive = new Archive())
{
archive.CreateEntry("data.bin", "file.dat");
archive.Save(zipFile);
}
}
Lihat juga
- class ArchiveEntrySettings
- class Archive
- ruang nama Aspose.Zip
- perakitan Aspose.Zip
Archive(Stream, ArchiveLoadOptions, ArchiveEntrySettings)
Menginisialisasi instance baru dariArchive
kelas dan menulis daftar entri dapat diekstraksi dari arsip.
public Archive(Stream sourceStream, ArchiveLoadOptions loadOptions = null,
ArchiveEntrySettings newEntrySettings = null)
Parameter | Jenis | Keterangan |
---|---|---|
sourceStream | Stream | Sumber arsip. |
loadOptions | ArchiveLoadOptions | Opsi untuk memuat arsip yang ada. |
newEntrySettings | ArchiveEntrySettings | Pengaturan kompresi dan enkripsi digunakan untuk yang baru ditambahkanArchiveEntry items. Jika tidak ditentukan, kompresi Deflate paling umum tanpa enkripsi akan digunakan. |
Pengecualian
pengecualian | kondisi |
---|---|
ArgumentException | sourceStream tidak dapat dicari. |
InvalidDataException | Header enkripsi untuk AES bertentangan dengan metode kompresi WinZip. |
Perkataan
Konstruktor ini tidak mendekompres entri apa pun. MelihatOpen
metode dekompresi.
Contoh
Contoh berikut mengekstrak arsip terenkripsi, lalu mendekompres entri pertama ke aMemoryStream
.
var fs = File.OpenRead("encrypted.zip");
var extracted = new MemoryStream();
using (Archive archive = new Archive(fs, new ArchiveLoadOptions() { DecryptionPassword = "p@s$" }))
{
using (var decompressed = archive.Entries[0].Open())
{
byte[] b = new byte[8192];
int bytesRead;
while (0 < (bytesRead = decompressed.Read(b, 0, b.Length)))
extracted.Write(b, 0, bytesRead);
}
}
Lihat juga
- class ArchiveLoadOptions
- class ArchiveEntrySettings
- class Archive
- ruang nama Aspose.Zip
- perakitan Aspose.Zip
Archive(string, ArchiveLoadOptions, ArchiveEntrySettings)
Menginisialisasi instance baru dariArchive
kelas dan menulis daftar entri dapat diekstraksi dari arsip.
public Archive(string path, ArchiveLoadOptions loadOptions = null,
ArchiveEntrySettings newEntrySettings = null)
Parameter | Jenis | Keterangan |
---|---|---|
path | String | Jalur yang sepenuhnya memenuhi syarat atau relatif ke file arsip. |
loadOptions | ArchiveLoadOptions | Opsi untuk memuat arsip yang ada. |
newEntrySettings | ArchiveEntrySettings | Pengaturan kompresi dan enkripsi digunakan untuk yang baru ditambahkanArchiveEntry items. Jika tidak ditentukan, kompresi Deflate paling umum tanpa enkripsi akan digunakan. |
Pengecualian
pengecualian | kondisi |
---|---|
ArgumentNullException | path adalah nol. |
SecurityException | Penelepon tidak memiliki izin yang diperlukan untuk mengakses. |
ArgumentException | Itupath kosong, hanya berisi spasi putih, atau berisi karakter yang tidak valid. |
UnauthorizedAccessException | Akses ke filepath ditolak. |
PathTooLongException | Yang ditentukanpath, nama file, atau keduanya melebihi panjang maksimum yang ditentukan sistem. Misalnya, pada platform berbasis Windows, jalur harus kurang dari 248 karakter, dan nama file harus kurang dari 260 karakter. |
NotSupportedException | Berkas dipath berisi titik dua (:) di tengah string. |
Perkataan
Konstruktor ini tidak mendekompres entri apa pun. MelihatOpen
metode dekompresi.
Contoh
Contoh berikut mengekstrak arsip terenkripsi, lalu mendekompres entri pertama ke aMemoryStream
.
var extracted = new MemoryStream();
using (Archive archive = new Archive("encrypted.zip", new ArchiveLoadOptions() { DecryptionPassword = "p@s$" }))
{
using (var decompressed = archive.Entries[0].Open())
{
byte[] b = new byte[8192];
int bytesRead;
while (0 < (bytesRead = decompressed.Read(b, 0, b.Length)))
extracted.Write(b, 0, bytesRead);
}
}
Lihat juga
- class ArchiveLoadOptions
- class ArchiveEntrySettings
- class Archive
- ruang nama Aspose.Zip
- perakitan Aspose.Zip