Class SevenZipArchive
Названий на: Aspose.Zip.SevenZip Асамблея: Aspose.Zip.dll (25.5.0)
Цей клас являє собою архівний файл 7z. Використовуйте його для композиції та екстракції архів 7z.
public class SevenZipArchive : IArchive, IDisposable
Inheritance
Implements
Нападні члени
object.GetType() , object.MemberwiseClone() , object.ToString() , object.Equals(object?) , object.Equals(object?, object?) , object.ReferenceEquals(object?, object?) , object.GetHashCode()
Constructors
SevenZipArchive(SevenZipEntrySettings)
Ініціалює нову інстанцію класу Aspose.Zip.SevenZip.SevenZipArchive з факультативними налаштуваннями для його записів.
public SevenZipArchive(SevenZipEntrySettings newEntrySettings = null)
Parameters
newEntrySettings
SevenZipEntrySettings
Налаштування компресії та шифрування використовуються для нових додатків Aspose.Zip.SevenZip.SevenZipArchiveEntry.Якщо не зазначено, LZMA компресія без шифрування буде використовуватися.
Examples
Наступний приклад показує, як компресувати єдиний файл за стандартними налаштуваннями: Компресія LZMA без шифрування.
using (FileStream sevenZipFile = File.Open("archive.7z", FileMode.Create))
{
using (var archive = new SevenZipArchive())
{
archive.CreateEntry("data.bin", "file.dat");
archive.Save(sevenZipFile);
}
}
SevenZipArchive(Стрий, Стрий)
Ініціалює новий приклад класу Aspose.Zip.SevenZip.SevenZipArchive і складає вхідний список, який можна витягнути з архіву.
public SevenZipArchive(Stream sourceStream, string password = null)
Parameters
sourceStream
Stream
Джерело архіву.
password
string
Опціональний пароль для дешифрування. якщо імена файлів зашифровані, вони повинні бути присутніми.
Examples
using (SevenZipArchive archive = new SevenZipArchive(File.OpenRead("archive.7z")))
{
archive.ExtractToDirectory("C:\\extracted");
}
Remarks
Цей конструктор не декомпресує жодного входу. переглянути Aspose.Zip.SevenZip.SevenZipArchive.ExtractToDirectory(System.String,System.String) метод для декомпресування.
Exceptions
sourceStream’ is not seekable.
sourceStream’ is null.
Архів містить більше одного кодера. тепер підтримується тільки компресія LZMA.
SevenZipArchive(Стринг, Стринг)
Ініціалює новий приклад класу Aspose.Zip.SevenZip.SevenZipArchive і складає вхідний список, який можна витягнути з архіву.
public SevenZipArchive(string path, string password = null)
Parameters
path
string
Повністю кваліфікований або відносний шлях до архіву.
password
string
Опціональний пароль для дешифрування. якщо імена файлів зашифровані, вони повинні бути присутніми.
Examples
using (SevenZipArchive archive = new SevenZipArchive("archive.7z"))
{
archive.ExtractToDirectory("C:\\extracted");
}
Remarks
Цей конструктор не декомпресує жодного входу. переглянути Aspose.Zip.SevenZip.SevenZipArchive.ExtractToDirectory(System.String,System.String) метод для декомпресування.
Exceptions
path’ is null.
Замовник не має необхідного дозволу на доступ.
path’ є порожнім, містить тільки білі простори, або містить недійсні символи.
Доступ до файлу path" відмовляється.
Наприклад, на платформах, заснованих на Windows, шляхи повинні бути менше 248 символів, а імена файлів повинні бути менше 260 символів.
Файл в path’ містить колону (:) в середині смуги.
Файл не знайдено.
Визначений шлях недійсний, наприклад, перебування на безкартованому двигуні.
Файл вже відкритий.
SevenZipArchive(стрічка[ ], Стрічка)
Ініціалізує новий приклад класу Aspose.Zip.SevenZip.SevenZipArchive з мульти-волуменного 7z-архіву і складає вхідний список, який можна витягнути з архіву.
public SevenZipArchive(string[] parts, string password = null)
Parameters
parts
string
[ ]
Шляхи до кожного сегменту мультимедійного 7з архіву, що дотримується порядку
password
string
Опціональний пароль для дешифрування. якщо імена файлів зашифровані, вони повинні бути присутніми.
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.
Замовник не має необхідного дозволу на доступ.
Дорога до файлу порожня, містить тільки білі простори, або містить недійсні символи.
Доступ до файлу відмовляється.
Наприклад, на платформах, заснованих на Windows, шляхи повинні бути менше 248 символів, а імена файлів повинні бути менше 260 символів.
Файл на шляху містить колону (:) в середині смуги.
Properties
Entries
Отримає входи Aspose.Zip.SevenZip.SevenZipArchiveEntry типу, що складається з архіву.
public ReadOnlyCollection<sevenziparchiveentry> Entries { get; }
вартість нерухомості
ReadOnlyCollection • < SevenZipArchiveEntry >
NewEntrySettings
Налаштування компресії та шифрування використовуються для нових додатків Aspose.Zip.SevenZip.SevenZipArchiveEntry.
public SevenZipEntrySettings NewEntrySettings { get; }
вартість нерухомості
Methods
CreateEntries(Реферат на тему: Bool)
Додайте до архіву всі файли та каталоги знову і знову в даному каталозі.
public SevenZipArchive CreateEntries(DirectoryInfo directory, bool includeRootDirectory = true)
Parameters
directory
DirectoryInfo
Керівництво для компресії.
includeRootDirectory
bool
Показати, чи включити сам корінний каталог, чи ні.
Returns
Архів з складеними входами.
Examples
using (SevenZipArchive archive = new SevenZipArchive())
{
DirectoryInfo folder = new DirectoryInfo("C:\folder");
archive.CreateEntries(folder);
archive.Save("folder.7z");
}
Exceptions
Дорога до directory’ є недійсною, наприклад, бути на безкартованому диску.
Зателефонувач не має необхідного дозволу на доступ до directory".
CreateEntries(Стрічка, боол)
Додайте до архіву всі файли та каталоги знову і знову в даному каталозі.
public SevenZipArchive CreateEntries(string sourceDirectory, bool includeRootDirectory = true)
Parameters
sourceDirectory
string
Керівництво для компресії.
includeRootDirectory
bool
Показати, чи включити сам корінний каталог, чи ні.
Returns
Архів з складеними входами.
Examples
Складіть архів 7Z з компресією LZMA2.
using (SevenZipArchive archive = new SevenZipArchive(new SevenZipEntrySettings(new SevenZipLZMACompressionSettings())))
{
archive.CreateEntries("C:\folder");
archive.Save("folder.7z");
}
CreateEntry(Стриг, FileInfo, Bool, SevenZipEntrySettings)
Створіть єдиний вхід в архіві.
public SevenZipArchiveEntry CreateEntry(string name, FileInfo fileInfo, bool openImmediately = false, SevenZipEntrySettings newEntrySettings = null)
Parameters
name
string
Назва входу.
fileInfo
FileInfo
Метадани файлу повинні бути компресовані.
openImmediately
bool
Правда, якщо відкрити файл відразу, то в іншому випадку відкрити файл на зберігання архіву.
newEntrySettings
SevenZipEntrySettings
Налаштування компресії та шифрування використовуються для додавання елемента Aspose.Zip.SevenZip.SevenZipArchiveEntry.
Returns
7 Вхідна інстанція.
Examples
Складіть архіви з входами, зашифрованими різними паролями кожен.
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
Назва файлу в параметрі не впливає на ім’я входу.
Якщо файл відкривається негайно з параметром, він блокується, поки файл не буде збережений.
Exceptions
fileInfo’ is read-only or is a directory.
Визначений шлях недійсний, наприклад, перебування на безкартованому двигуні.
Файл вже відкритий.
CreateEntry(Стрий, Стрий, SevenZipEntrySettings, FileSystemInfo)
Створіть єдиний вхід в архіві.
public SevenZipArchiveEntry CreateEntry(string name, Stream source, SevenZipEntrySettings newEntrySettings, FileSystemInfo fileInfo)
Parameters
name
string
Назва входу.
source
Stream
Вхідний потік для входу.
newEntrySettings
SevenZipEntrySettings
Налаштування компресії та шифрування використовуються для додавання елемента Aspose.Zip.SevenZip.SevenZipArchiveEntry.
fileInfo
FileSystemInfo
Метадани файлу або папки повинні бути компресовані.
Returns
7 Вхідна інстанція.
Examples
Складіть архіви з компресованим LZMA2 шифрованим входом.
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
Назва файлу в параметрі не впливає на ім’я входу.
Ви можете звернутися до System.IO.DirectoryInfo, якщо вхід є каталогом.
Exceptions
Як source’ і
fileInfo’ нуль або
source’ нуль і
fileInfo’ відображається для каталогу.
CreateEntry(Стрий, Стрий, SevenZipEntrySettings)
Створіть єдиний вхід в архіві.
public SevenZipArchiveEntry CreateEntry(string name, Stream source, SevenZipEntrySettings newEntrySettings = null)
Parameters
name
string
Назва входу.
source
Stream
Вхідний потік для входу.
newEntrySettings
SevenZipEntrySettings
Налаштування компресії та шифрування використовуються для додавання елемента Aspose.Zip.SevenZip.SevenZipArchiveEntry.
Returns
Вхідна інстанція ZIP.
Examples
Створення 7z архіву з LZMA2 компресії та шифрування всіх записів.
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(стовп, стовп, буль, SevenZipEntrySettings)
Створіть єдиний вхід в архіві.
public SevenZipArchiveEntry CreateEntry(string name, string path, bool openImmediately = false, SevenZipEntrySettings newEntrySettings = null)
Parameters
name
string
Назва входу.
path
string
Повністю кваліфіковане ім’я нового файлу, або відносне ім’я файлу, яке має бути компресовано.
openImmediately
bool
Правда, якщо відкрити файл відразу, то в іншому випадку відкрити файл на зберігання архіву.
newEntrySettings
SevenZipEntrySettings
Налаштування компресії та шифрування використовуються для додавання елемента Aspose.Zip.SevenZip.SevenZipArchiveEntry.
Returns
Вхідна інстанція 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
Назва файлу в параметрі не впливає на ім’я входу.
Якщо файл відкривається негайно з параметром, він блокується, поки файл не буде збережений.
Exceptions
path’ is null.
Замовник не має необхідного дозволу на доступ.
path’ є порожнім, містить тільки білі простори, або містить недійсні символи.
Доступ до файлу path" відмовляється.
Наприклад, на платформах, заснованих на Windows, шляхи повинні бути менше 248 символів, а імена файлів повинні бути менше 260 символів.
Файл в path’ містить колону (:) в середині смуги.
Dispose()
Виконання завдань, визначених застосуванням, пов’язаних з звільненням, звільненням або відновленням нерухомих ресурсів.
public void Dispose()
Dispose(Бол)
Виконання завдань, визначених застосуванням, пов’язаних з звільненням, звільненням або відновленням нерухомих ресурсів.
protected virtual void Dispose(bool disposing)
Parameters
disposing
bool
Чи потрібно витрачати управляні ресурси.
ExtractToDirectory(Стринг, Стринг)
Витягує всі файли в архіві в наданий каталог.
public void ExtractToDirectory(string destinationDirectory, string password = null)
Parameters
destinationDirectory
string
Шлях до каталогу для розміщення витягнутих файлів.
password
string
Опціональний пароль для дешифрування контенту.
Examples
using (var archive = new SevenZipArchive("archive.7z"))
{
archive.ExtractToDirectory("C:\extracted");
}
Remarks
Якщо каталог не існує, він буде створений.
Використовується тільки для дешифрування контенту. якщо імена файлів шифровані, надайте пароль в Aspose.Zip.SevenZapArchive.#ctor(System.String,Systems. String) або __ WL51.ZIP.NUMX.
Exceptions
destinationDirectory’ is null.
Наприклад, на платформах, заснованих на Windows, шляхи повинні бути менше 248 символів, а імена файлів повинні бути менше 260 символів.
Зателефонувач не має необхідного дозволу на доступ до існуючого каталогу.
Якщо каталог не існує, то шлях містить символ колону (:) який не є частиною етикетки диска (“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 (:).
Директива, зазначена шляхом, є файлом. -або- Назва мережі не відома.
Архів був зруйнований.
Save(Stream)
Зберегти 7z архіву до потоку, що надається.
public void Save(Stream output)
Parameters
output
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
Вони повинні бути пошуковими.
Exceptions
output’ does not support seeking.
output’ is null.
Кодекс не встиг компресувати дані.
Save(стрічка)
Зберегти архіви до даного файлу призначення.
public void Save(string destinationFileName)
Parameters
destinationFileName
string
Якщо назва файлу вказує на існуючий файл, він буде переписаний.
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
Можна зберегти файл на той же шлях, з якого він був завантажений. однак, це не рекомендується, оскільки цей підхід використовує копіювання до тимчасового файлу.
Exceptions
destinationFileName’ is null.
Замовник не має необхідного дозволу на доступ.
destinationFileName’ є порожнім, містить тільки білі простори, або містить недійсні символи.
Доступ до файлу destinationFileName’ відмовляється.
Визначений destinationFileName’, ім’я файлу, або обидва перевищують максимальну довжину, визначену системою. Наприклад, на платформах, заснованих на Windows, шляхи повинні бути менше 248 символів, а імена файлу повинні бути менше 260 символів.
Файл в destinationFileName’ містить колону (:) в середині смуги.
SaveSplit(Стриг, SplitSevenZipArchiveSaveOptions)
Зберегти мультимедійний архів до даного каталогу призначення.
public void SaveSplit(string destinationDirectory, SplitSevenZipArchiveSaveOptions options)
Parameters
destinationDirectory
string
Шлях до каталогу, де будуть створені сегменти архіву.
options
SplitSevenZipArchiveSaveOptions
Опції для зберігання архівів, включаючи ім’я файлу.
Examples
using (SevenZipArchive archive = new SevenZipArchive())
{
archive.CreateEntry("entry.bin", "data.bin");
archive.SaveSplit(@"C:\Folder", new SplitSevenZipArchiveSaveOptions("volume", 65536));
}
Remarks
Цей метод складається з кількох () файлів filename.7z.001, filename.7z.002, …, filename.7z.(n).
Не можна створювати існуючі архівні мультиплікації.
Exceptions
Архів був відкритий з існуючого джерела.
destinationDirectory’ is null.
Зателефонувач не має необхідного дозволу на доступ до каталогу.
destinationDirectory’ contains invalid characters such as “, >, <, or |.
Визначений шлях перевищує максимальну довжину, визначену системою.