Class SevenZipArchive

Class SevenZipArchive

Названий на: Aspose.Zip.SevenZip Асамблея: Aspose.Zip.dll (25.5.0)

Цей клас являє собою архівний файл 7z. Використовуйте його для композиції та екстракції архів 7z.

public class SevenZipArchive : IArchive, IDisposable

Inheritance

object SevenZipArchive

Implements

IArchive , IDisposable

Нападні члени

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

ArgumentException

sourceStream’ is not seekable.

ArgumentNullException

sourceStream’ is null.

NotImplementedException

Архів містить більше одного кодера. тепер підтримується тільки компресія 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

ArgumentNullException

path’ is null.

SecurityException

Замовник не має необхідного дозволу на доступ.

ArgumentException

path’ є порожнім, містить тільки білі простори, або містить недійсні символи.

UnauthorizedAccessException

Доступ до файлу path" відмовляється.

PathTooLongException

Наприклад, на платформах, заснованих на Windows, шляхи повинні бути менше 248 символів, а імена файлів повинні бути менше 260 символів.

NotSupportedException

Файл в path’ містить колону (:) в середині смуги.

FileNotFoundException

Файл не знайдено.

DirectoryNotFoundException

Визначений шлях недійсний, наприклад, перебування на безкартованому двигуні.

IOException

Файл вже відкритий.

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

ArgumentNullException

parts’ is null.

ArgumentException

parts’ has no entries.

SecurityException

Замовник не має необхідного дозволу на доступ.

ArgumentException

Дорога до файлу порожня, містить тільки білі простори, або містить недійсні символи.

UnauthorizedAccessException

Доступ до файлу відмовляється.

PathTooLongException

Наприклад, на платформах, заснованих на Windows, шляхи повинні бути менше 248 символів, а імена файлів повинні бути менше 260 символів.

NotSupportedException

Файл на шляху містить колону (:) в середині смуги.

Properties

Entries

Отримає входи Aspose.Zip.SevenZip.SevenZipArchiveEntry типу, що складається з архіву.

public ReadOnlyCollection<sevenziparchiveentry> Entries { get; }

вартість нерухомості

ReadOnlyCollection • < SevenZipArchiveEntry >

NewEntrySettings

Налаштування компресії та шифрування використовуються для нових додатків Aspose.Zip.SevenZip.SevenZipArchiveEntry.

public SevenZipEntrySettings NewEntrySettings { get; }

вартість нерухомості

SevenZipEntrySettings

Methods

CreateEntries(Реферат на тему: Bool)

Додайте до архіву всі файли та каталоги знову і знову в даному каталозі.

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

Parameters

directory DirectoryInfo

Керівництво для компресії.

includeRootDirectory bool

Показати, чи включити сам корінний каталог, чи ні.

Returns

SevenZipArchive

Архів з складеними входами.

Examples

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

Exceptions

DirectoryNotFoundException

Дорога до directory’ є недійсною, наприклад, бути на безкартованому диску.

SecurityException

Зателефонувач не має необхідного дозволу на доступ до directory".

CreateEntries(Стрічка, боол)

Додайте до архіву всі файли та каталоги знову і знову в даному каталозі.

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

Parameters

sourceDirectory string

Керівництво для компресії.

includeRootDirectory bool

Показати, чи включити сам корінний каталог, чи ні.

Returns

SevenZipArchive

Архів з складеними входами.

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

SevenZipArchiveEntry

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

UnauthorizedAccessException

fileInfo’ is read-only or is a directory.

DirectoryNotFoundException

Визначений шлях недійсний, наприклад, перебування на безкартованому двигуні.

IOException

Файл вже відкритий.

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

SevenZipArchiveEntry

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

InvalidOperationException

Як 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

SevenZipArchiveEntry

Вхідна інстанція 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

SevenZipArchiveEntry

Вхідна інстанція 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

ArgumentNullException

path’ is null.

SecurityException

Замовник не має необхідного дозволу на доступ.

ArgumentException

path’ є порожнім, містить тільки білі простори, або містить недійсні символи.

UnauthorizedAccessException

Доступ до файлу path" відмовляється.

PathTooLongException

Наприклад, на платформах, заснованих на Windows, шляхи повинні бути менше 248 символів, а імена файлів повинні бути менше 260 символів.

NotSupportedException

Файл в 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

ArgumentNullException

destinationDirectory’ is null.

PathTooLongException

Наприклад, на платформах, заснованих на Windows, шляхи повинні бути менше 248 символів, а імена файлів повинні бути менше 260 символів.

SecurityException

Зателефонувач не має необхідного дозволу на доступ до існуючого каталогу.

NotSupportedException

Якщо каталог не існує, то шлях містить символ колону (:) який не є частиною етикетки диска (“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

Директива, зазначена шляхом, є файлом. -або- Назва мережі не відома.

InvalidDataException

Архів був зруйнований.

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

ArgumentException

output’ does not support seeking.

ArgumentNullException

output’ is null.

InvalidOperationException

Кодекс не встиг компресувати дані.

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

ArgumentNullException

destinationFileName’ is null.

SecurityException

Замовник не має необхідного дозволу на доступ.

ArgumentException

destinationFileName’ є порожнім, містить тільки білі простори, або містить недійсні символи.

UnauthorizedAccessException

Доступ до файлу destinationFileName’ відмовляється.

PathTooLongException

Визначений destinationFileName’, ім’я файлу, або обидва перевищують максимальну довжину, визначену системою. Наприклад, на платформах, заснованих на Windows, шляхи повинні бути менше 248 символів, а імена файлу повинні бути менше 260 символів.

NotSupportedException

Файл в 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

InvalidOperationException

Архів був відкритий з існуючого джерела.

ArgumentNullException

destinationDirectory’ is null.

SecurityException

Зателефонувач не має необхідного дозволу на доступ до каталогу.

ArgumentException

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

PathTooLongException

Визначений шлях перевищує максимальну довжину, визначену системою.

 Українська