Class SevenZipArchive

Class SevenZipArchive

Именује се: Aspose.Zip.SevenZip Асамблеја: Aspose.Zip.dll (25.5.0)

Ова класа представља 7з архивни датотеку. користите га да компонује и извлачи 7з архиве.

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)

Иницијалише нову инстанцију Аппосе.Зип.СедамЗип.СедамЗипАрхиве класе са опционалним подешавањама за његове улоге.

public SevenZipArchive(SevenZipEntrySettings newEntrySettings = null)

Parameters

newEntrySettings SevenZipEntrySettings

Подешавања компресије и шифровања коришћена за ново додате Aspose.Zip.SevenZip.SevenZipArchiveEntry елементе.Ако није наведено, ЛЗМА компресија без шифровања би се користила.

Examples

Следећи пример показује како да компресирате јединствену датотеку са подразумеваним подешавањама: ЛЗМ-компресија без шифровања.

using (FileStream sevenZipFile = File.Open("archive.7z", FileMode.Create))
{
    using (var archive = new SevenZipArchive())
    {
        archive.CreateEntry("data.bin", "file.dat");
        archive.Save(sevenZipFile);
    }
}

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

Овај конструктор не декомпресира било који улаз. погледајте Аппосе.Зип.СедамЗип.СедамЗипАрцхиве.ЕкстрактТоДиректор(Систем.Стринг,Систем.Стринг) метод за декомпресирање.

Exceptions

ArgumentException

sourceStream’ is not seekable.

ArgumentNullException

sourceStream’ is null.

NotImplementedException

Архив садржи више од једног кодера. сада је подржана само ЛЗМА компресија.

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

Овај конструктор не декомпресира било који улаз. погледајте Аппосе.Зип.СедамЗип.СедамЗипАрцхиве.ЕкстрактТоДиректор(Систем.Стринг,Систем.Стринг) метод за декомпресирање.

Exceptions

ArgumentNullException

path’ is null.

SecurityException

Позивач нема захтеван дозволу за приступ.

ArgumentException

path’ је празан, садржи само беле просторе, или садржи неважеће знакове.

UnauthorizedAccessException

Приступ датотеци path’ је одбијен.

PathTooLongException

На пример, на платформима заснованим на Виндовсу, путеви морају бити мање од 248 знакова, а имена датотеке морају бити мање од 260 знакова.

NotSupportedException

Датотека у path’ садржи колону (:) у средини редове.

FileNotFoundException

Датотека није пронађена.

DirectoryNotFoundException

Одређени пут је неважећи, на пример, да се налази на немапираном дискову.

IOException

Датотека је већ отворена.

SevenZipArchive(Стринг[], Стринг)

Иницијалише нову инстанцију Аппосе.Зип.СедамЗип.СедамЗипАрхиве класе из мулти-волум 7з архива и саставља листу улаза може се извући из архива.

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

На пример, на платформима заснованим на Виндовсу, путеви морају бити мање од 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(ДирективаИнфо, Боол)

Додајте архиву све датотеке и директорије поновљено у датом директоријуму.

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

Саставите 7з архиву са ЛЗМА2 компресијом.

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

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

7 Инстанција за улазак.

Examples

Састављање архива са ЛЗМА2 компресираним шифрованим улазом.

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

ЦИП улаз инстанција.

Examples

Саставите 7з архиву са ЛЗМА2 компресијом и шифровањем свих улога.

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

ЦИП улаз инстанција.

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

На пример, на платформима заснованим на Виндовсу, путеви морају бити мање од 248 знакова, а имена датотеке морају бити мање од 260 знакова.

NotSupportedException

Датотека у path’ садржи колону (:) у средини редове.

Dispose()

Извршава апликације-дефинисане задатке повезане са ослобађањем, ослобађањем или рестаурацијом неконтролисаних ресурса.

public void Dispose()

Dispose(Боол)

Извршава апликације-дефинисане задатке повезане са ослобађањем, ослобађањем или рестаурацијом неконтролисаних ресурса.

protected virtual void Dispose(bool disposing)

Parameters

disposing bool

Da li je potrebno iskoristiti upravljane resurse?

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.SevenZop.SevenZapArchive.#ctor(System.String,Systems. String) или __ WL51.ZIP.seven ZipArhive .# ctor (Sistem.IO.Stream,systeme.string).

Exceptions

ArgumentNullException

destinationDirectory’ is null.

PathTooLongException

На пример, на платформима заснованим на Виндовсу, путеви морају бити мање од 248 знакова, а имена датотека морају бити мање од 260 знакова.

SecurityException

Позивач нема неопходне дозволе за приступ постојећем директоријуму.

NotSupportedException

Ако директоријум не постоји, пут садржи карактер колона (:) који није део етикета дискова (“Ц:”).

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)

Сачува 7з архиву на пруженом току.

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

Mora da bude tražljiva.

Exceptions

ArgumentException

output’ does not support seeking.

ArgumentNullException

output’ is null.

InvalidOperationException

Koder nije uspeo da kompresiše podatke.

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’ je prazan, sadrži samo bele prostore ili sadrži nevažeće znakove.

UnauthorizedAccessException

Приступ датотеци destinationFileName’ је одбијен.

PathTooLongException

На пример, на платформима заснованим на Виндовсу, путеви морају бити мање од 248 знакова, а имена датотеке морају бити мање од 260 знакова.

NotSupportedException

Датотека у destinationFileName’ садржи колону (:) у средини редове.

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

Одређени пут прелази максималну дужину одређену системом.

 Српски