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 Compression без шифроване.

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.SevenZapArchive и съставя списък с вход, който може да бъде извлечен от архива.

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.SevenZapArchive и съставя списък с вход, който може да бъде извлечен от архива.

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

Пътят " е празен, съдържа само бели пространства или съдържа невалидни знаци.

UnauthorizedAccessException

code class=“paramref”>path.

PathTooLongException

code class=“paramref”>path", име на файла, или и двете надвишават максималната дължина, определена от системата. например, на платформи, базирани на Windows, пътеките трябва да са по-малко от 248 знака, а имената на файла трябва да са по-малко от 260.

NotSupportedException

code class=“paramref”>path.

FileNotFoundException

Документът не е намерен.

DirectoryNotFoundException

Определеният маршрут е невалиден, като например да се намира на безкартиран диск.

IOException

Филмът вече е отворен.

SevenZipArchive(Стрий[]Стрийк)

Aspose.Zip.SevenZip.SevenZipArchive от мулти-волумен 7z.

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

Parameters

parts string []

Пъти до всеки сегмент на мулти-волумен 7z архиви, спазващи реда

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

code class=“paramref”>directory.

SecurityException

code class=“paramref”>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

Седем инстанции за влизане.

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(string, Stream, 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

SevenZip.

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

code class=“paramref”>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(string, string, bool, 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

Пътят " е празен, съдържа само бели пространства или съдържа невалидни знаци.

UnauthorizedAccessException

code class=“paramref”>path.

PathTooLongException

code class=“paramref”>path", име на файла, или и двете надвишават максималната дължина, определена от системата. например, на платформи, базирани на Windows, пътеките трябва да са по-малко от 248 знака, а имената на файла трябва да са по-малко от 260.

NotSupportedException

code class=“paramref”>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) или _ www.wl51_.zip-seven.zip .7.

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

code class=“paramref”>destinationFileName.

UnauthorizedAccessException

code class=“paramref”>destinationFileName.

PathTooLongException

code class=“paramref”>destinationFileName’, име на файла, или и двете надвишават максималната дължина, определена от системата. например, на платформи, базирани на Windows, пътеките трябва да са по-малко от 248 символа, а имената на файла трябва да са по-малко от 260.

NotSupportedException

code class=“paramref”>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

Определеният път надвишава максималната дължина, определена от системата.

 Български