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 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
sourceStream’ is not seekable.
sourceStream’ is null.
Архивът съдържа повече от един кодирач. сега само 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
path’ is null.
Призователят няма изискваното разрешение за достъп.
Пътят " е празен, съдържа само бели пространства или съдържа невалидни знаци.
code class=“paramref”>path.
code class=“paramref”>path", име на файла, или и двете надвишават максималната дължина, определена от системата. например, на платформи, базирани на Windows, пътеките трябва да са по-малко от 248 знака, а имената на файла трябва да са по-малко от 260.
code class=“paramref”>path.
Документът не е намерен.
Определеният маршрут е невалиден, като например да се намира на безкартиран диск.
Филмът вече е отворен.
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
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
code class=“paramref”>directory.
code class=“paramref”>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
Седем инстанции за влизане.
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(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
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
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
Входната инстанция на 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
Входната инстанция на 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.
Призователят няма изискваното разрешение за достъп.
Пътят " е празен, съдържа само бели пространства или съдържа невалидни знаци.
code class=“paramref”>path.
code class=“paramref”>path", име на файла, или и двете надвишават максималната дължина, определена от системата. например, на платформи, базирани на Windows, пътеките трябва да са по-малко от 248 знака, а имената на файла трябва да са по-малко от 260.
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
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.
Призователят няма изискваното разрешение за достъп.
code class=“paramref”>destinationFileName.
code class=“paramref”>destinationFileName.
code class=“paramref”>destinationFileName’, име на файла, или и двете надвишават максималната дължина, определена от системата. например, на платформи, базирани на Windows, пътеките трябва да са по-малко от 248 символа, а имената на файла трябва да са по-малко от 260.
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
Този архив е отворен от съществуващия източник.
destinationDirectory’ is null.
Призователят не разполага с необходимата разрешение за достъп до директората.
destinationDirectory’ contains invalid characters such as “, >, <, or |.
Определеният път надвишава максималната дължина, определена от системата.