Class Archive
Именује се: Aspose.Zip Асамблеја: Aspose.Zip.dll (25.5.0)
Ова класа представља ЗИП архивни датотеку. користите га за састављање, екстракцију, или ажурирање ЗИС архива.
public class Archive : IArchive, IDisposableInheritance
Implements
Наслеђени чланови
object.GetType() , object.MemberwiseClone() , object.ToString() , object.Equals(object?) , object.Equals(object?, object?) , object.ReferenceEquals(object?, object?) , object.GetHashCode()
Constructors
Archive(ArchiveEntrySettings)
Иницијалише нову инстанцију Аппосе.Зип.Архиве класе са опционалним подешавањама за његове улоге.
public Archive(ArchiveEntrySettings newEntrySettings = null)Parameters
newEntrySettings ArchiveEntrySettings
Подешавања компресије и шифровања коришћена за ново додате Aspose.Zip.ArchiveEntry елементе.Ако није наведено, најчешћа дефлате компресија без шифровања би се користила.
Examples
Следећи пример показује како компресирати једну датотеку са подразумеваним подешавањама.
using (FileStream zipFile = File.Open("archive.zip", FileMode.Create))
{
using (var archive = new Archive())
{
archive.CreateEntry("data.bin", "file.dat");
archive.Save(zipFile);
}
}Archive(Stream, ArchiveLoadOptions, ArchiveEntrySettings)
Иницијалише нову инстанцију Аппосе.Зип.Архиве класе и саставља улазну листу која се може извући из архива.
public Archive(Stream sourceStream, ArchiveLoadOptions loadOptions = null, ArchiveEntrySettings newEntrySettings = null)Parameters
sourceStream Stream
Извор из архива.
loadOptions ArchiveLoadOptions
Опције за преузимање постојећих архива са.
newEntrySettings ArchiveEntrySettings
Подешавања компресије и шифровања коришћена за ново додате Aspose.Zip.ArchiveEntry елементе.Ако није наведено, најчешћа дефлате компресија без шифровања би се користила.
Examples
Следећи пример извлачи шифроване архиве, а затим декомпресира први улаз у .
var fs = File.OpenRead("encrypted.zip");
var extracted = new MemoryStream();
using (Archive archive = new Archive(fs, new ArchiveLoadOptions() { DecryptionPassword = "p@s$" }))
{
using (var decompressed = archive.Entries[0].Open())
{
byte[] b = new byte[8192];
int bytesRead;
while (0 < (bytesRead = decompressed.Read(b, 0, b.Length)))
extracted.Write(b, 0, bytesRead);
}
}Remarks
Овај конструктор не декомпресира било који улаз. погледајте Аппосе.Зип.АрхивеЕнтри.Опен(Систем.Стринг) метод за декомпресирање.
Exceptions
sourceStream’ is not seekable.
Наслов за шифровање за АЕС је у супротности са методом компресије Винзип.
Archive(string, ArchiveLoadOptions, ArchiveEntrySettings)
Иницијалише нову инстанцију Аппосе.Зип.Архиве класе и саставља улазну листу која се може извући из архива.
public Archive(string path, ArchiveLoadOptions loadOptions = null, ArchiveEntrySettings newEntrySettings = null)Parameters
path string
Потпуно квалификовани или релативни пут до архивног датотеке.
loadOptions ArchiveLoadOptions
Опције за преузимање постојећих архива са.
newEntrySettings ArchiveEntrySettings
Подешавања компресије и шифровања коришћена за ново додате Aspose.Zip.ArchiveEntry елементе.Ако није наведено, најчешћа дефлате компресија без шифровања би се користила.
Examples
Следећи пример извлачи шифроване архиве, а затим декомпресира први улаз у .
var extracted = new MemoryStream();
using (Archive archive = new Archive("encrypted.zip", new ArchiveLoadOptions() { DecryptionPassword = "p@s$" }))
{
using (var decompressed = archive.Entries[0].Open())
{
byte[] b = new byte[8192];
int bytesRead;
while (0 < (bytesRead = decompressed.Read(b, 0, b.Length)))
extracted.Write(b, 0, bytesRead);
}
}Remarks
Овај конструктор не декомпресира било који улаз. погледајте Аппосе.Зип.АрхивеЕнтри.Опен(Систем.Стринг) метод за декомпресирање.
Exceptions
path’ is null.
Позивач нема захтеван дозволу за приступ.
path’ је празан, садржи само беле просторе, или садржи неважеће знакове.
Приступ датотеци path’ је одбијен.
На пример, на платформима заснованим на Виндовсу, путеви морају бити мање од 248 знакова, а имена датотеке морају бити мање од 260 знакова.
Датотека у path’ садржи колону (:) у средини редове.
Датотека није пронађена.
Одређени пут је неважећи, на пример, да се налази на немапираном дискову.
Датотека је већ отворена.
Датотека је корумпирана.
Archive(Стринг , Стринг[], Архив опција)
Иницијалише нову инстанцију Аппосе.Зип.Архиве класе из мулти-волумен Зип архива и саставља улазну листу која се може извући из архива.
public Archive(string mainSegment, string[] segmentsInOrder, ArchiveLoadOptions loadOptions = null)Parameters
mainSegment string
Пут до последњег сегмента мулти-волуменског архива са централним директоријом.
Обично овај сегмент има *.zip проширење и мање од других.
segmentsInOrder string
[]
Пут до сваког сегмента, али последњи мулти-волумен ЗИП архива поштује налог.
Уобичајено су именовали filename.z01, filename.z02, …, filename.z(n-1).
loadOptions ArchiveLoadOptions
Опције за преузимање постојећих архива са.
Examples
Овај узор извлачи у директоријум архиву од три сегмента.
using (Archive a = new Archive("archive.zip", new string[] { "archive.z01", "archive.z02" }))
{
a.ExtractToDirectory("destination");
}Exceptions
Не можете преузети ЗИП наслове јер су обезбеђени датотеке корумпирани.
Properties
Entries
Добија улоге типа Aspose.Zip.ArchiveEntry који чине архиву.
public ReadOnlyCollection<archiveentry> Entries { get; }Вредност имовине
ReadOnlyCollection < ArchiveEntry >
NewEntrySettings
Подешавања компресије и шифровања коришћена за ново додате Aspose.Zip.ArchiveEntry елементе.
public ArchiveEntrySettings NewEntrySettings { get; }Вредност имовине
Methods
CreateEntries(ДирективаИнфо, Боол)
Додајте у архиву све датотеке и директорије поновљено у одређеном директору.
public Archive CreateEntries(DirectoryInfo directory, bool includeRootDirectory = true)Parameters
directory DirectoryInfo
Директоријум за компресију.
includeRootDirectory bool
Показује да ли треба да укључите коренски директоријум или не.
Returns
Архив са уносом састављен.
Examples
using (Archive archive = new Archive())
{
DirectoryInfo folder = new DirectoryInfo("C:\folder");
archive.CreateEntries(folder);
archive.Save("folder.zip");
}Exceptions
Пут до directory’ је немогућ, као што је бити на немапираном диску.
Позивач нема захтеван дозволу за приступ directory'.
CreateEntries(КСНУМКС, Боол)
Додајте у архиву све датотеке и директорије поновљено у одређеном директору.
public Archive CreateEntries(string sourceDirectory, bool includeRootDirectory = true)Parameters
sourceDirectory string
Директоријум за компресију.
includeRootDirectory bool
Показује да ли треба да укључите коренски директоријум или не.
Returns
Архив са уносом састављен.
Examples
using (Archive archive = new Archive())
{
archive.CreateEntries("C:\folder");
archive.Save("folder.zip");
}CreateEntry(string, string, bool, ArchiveEntrySettings)
Креирање јединственог улаза у архиву.
public ArchiveEntry CreateEntry(string name, string path, bool openImmediately = false, ArchiveEntrySettings newEntrySettings = null)Parameters
name string
Име улаза.
path string
Потпуно квалификовано име новог датотеке или релативно име датотеке које треба компресирати.
openImmediately bool
Истина, ако отворите датотеку одмах, иначе отворите датотеку на архивом.
newEntrySettings ArchiveEntrySettings
Подешавања компресије и шифровања коришћена за додавање Aspose.Zip.ArchiveEntry елемента.
Returns
ЦИП улаз инстанција.
Examples
using (FileStream zipFile = File.Open("archive.zip", FileMode.Create))
{
using (var archive = new Archive())
{
archive.CreateEntry("data.bin", "file.dat");
archive.Save(zipFile);
}
}Remarks
Име уноса је постављено само унутар параметара. име датотеке које је наведено у параметру не утиче на име уноса. Ако се датотека одмах отвара са параметром, блокира се док се архива не чува.
Exceptions
path’ is null.
Позивач нема захтеван дозволу за приступ.
path’ је празан, садржи само беле просторе, или садржи неважеће знакове.
Приступ датотеци path’ је одбијен.
На пример, на платформима заснованим на Виндовсу, путеви морају бити мање од 248 знакова, а имена датотеке морају бити мање од 260 знакова.
Датотека у path’ садржи колону (:) у средини редове.
CreateEntry(струја, струја, ArchiveEntrySettings)
Креирање јединственог улаза у архиву.
public ArchiveEntry CreateEntry(string name, Stream source, ArchiveEntrySettings newEntrySettings = null)Parameters
name string
Име улаза.
source Stream
Улазни ток за улазак.
newEntrySettings ArchiveEntrySettings
Подешавања компресије и шифровања коришћена за додавање Aspose.Zip.ArchiveEntry елемента.
Returns
ЦИП улаз инстанција.
Examples
using (var archive = new Archive(new ArchiveEntrySettings(null, new AesEcryptionSettings("p@s$", EncryptionMethod.AES256))))
{
archive.CreateEntry("data.bin", new MemoryStream(new byte[] {0x00, 0xFF} ));
archive.Save("archive.zip");
}CreateEntry(string, FileInfo, bool, ArchiveEntrySettings)
Креирање јединственог улаза у архиву.
public ArchiveEntry CreateEntry(string name, FileInfo fileInfo, bool openImmediately = false, ArchiveEntrySettings newEntrySettings = null)Parameters
name string
Име улаза.
fileInfo FileInfo
метадане датотеке да се компресирају.
openImmediately bool
Истина, ако отворите датотеку одмах, иначе отворите датотеку на архивом.
newEntrySettings ArchiveEntrySettings
Подешавања компресије и шифровања коришћена за додавање Aspose.Zip.ArchiveEntry елемента.
Returns
ЦИП улаз инстанција.
Examples
Саставите архиве са улазама шифрованим различитим методама шифровања и лозинкама сваки.
using (FileStream zipFile = File.Open("archive.zip", FileMode.Create))
{
FileInfo fi1 = new FileInfo("data1.bin");
FileInfo fi2 = new FileInfo("data2.bin");
FileInfo fi3 = new FileInfo("data3.bin");
using (var archive = new Archive())
{
archive.CreateEntry("entry1.bin", fi1, false, new ArchiveEntrySettings(new DeflateCompressionSettings(), new TraditionalEncryptionSettings("pass1")));
archive.CreateEntry("entry2.bin", fi2, false, new ArchiveEntrySettings(new DeflateCompressionSettings(), new AesEcryptionSettings("pass2", EncryptionMethod.AES128)));
archive.CreateEntry("entry3.bin", fi3, false, new ArchiveEntrySettings(new DeflateCompressionSettings(), new AesEcryptionSettings("pass3", EncryptionMethod.AES256)));
archive.Save(zipFile);
}
}Remarks
Име уноса је постављено само унутар параметара. име датотеке које је наведено у параметру не утиче на име уноса. Ако се датотека одмах отвара са параметром, блокира се док се архива не чува.
Exceptions
fileInfo’ is read-only or is a directory.
Одређени пут је неважећи, на пример, да се налази на немапираном дискову.
Датотека је већ отворена.
CreateEntry(string, Stream, ArchiveEntrySettings, FileSystemInfo)
Креирање јединственог улаза у архиву.
public ArchiveEntry CreateEntry(string name, Stream source, ArchiveEntrySettings newEntrySettings, FileSystemInfo fileInfo)Parameters
name string
Име улаза.
source Stream
Улазни ток за улазак.
newEntrySettings ArchiveEntrySettings
Подешавања компресије и шифровања коришћена за додавање Aspose.Zip.ArchiveEntry елемента.
fileInfo FileSystemInfo
Метадане датотеке или фасцикла да се компресирају.
Returns
ЦИП улаз инстанција.
Examples
Саставите архиве са шифрованим улазом.
using (FileStream zipFile = File.Open("archive.zip", FileMode.Create))
{
using (var archive = new Archive())
{
archive.CreateEntry("entry1.bin", new MemoryStream(new byte[] {0x00, 0xFF} ), new ArchiveEntrySettings(new DeflateCompressionSettings(), new TraditionalEncryptionSettings("pass1")), new FileInfo("data1.bin"));
archive.Save(zipFile);
}
}Remarks
Име уноса је постављено само унутар параметара. име датотеке које је наведено у параметру не утиче на име уноса. може се односити на System.IO.DirectoryInfo ако је унос директоријум.
Exceptions
И source’ и fileInfo’ су нула или source’ је нула и fileInfo’ значи за директоријум.
CreateEntry(Стринг, Фунц<стрим>, АрхивеEntrySettings)
Креирање јединственог улаза у архиву.
public ArchiveEntry CreateEntry(string name, Func<stream> streamProvider, ArchiveEntrySettings newEntrySettings = null)Parameters
name string
Име улаза.
streamProvider Func
<
Stream
>
Метода која пружа улазни ток за улаз.
newEntrySettings ArchiveEntrySettings
Подешавања компресије и шифровања коришћена за додавање Aspose.Zip.ArchiveEntry елемента.
Returns
ЦИП улаз инстанција.
Examples
Саставите архиве са шифрованим улазом.
System.Func<Stream> provider = delegate(){ return new MemoryStream(new byte[]{0xFF, 0x00}); };
using (FileStream zipFile = File.Open("archive.zip", FileMode.Create))
{
using (var archive = new Archive())
{
archive.CreateEntry("entry1.bin", provider, new ArchiveEntrySettings(new DeflateCompressionSettings(), new TraditionalEncryptionSettings("pass1"))));
archive.Save(zipFile);
}
}Remarks
Овај метод је за .NET Framework 4.0 и изнад и за .NET Standard 2.0 верзију.
DeleteEntry(ArchiveEntry)
Уклања прву појаву одређеног улаза са листе улаза.
public Archive DeleteEntry(ArchiveEntry entry)Parameters
entry ArchiveEntry
Улаз да се уклони из листе улаза.
Returns
Архив са улазом је избрисан.
Examples
Ево како можете уклонити све улоге осим последњег:
using (var archive = new Archive("archive.zip"))
{
while (archive.Entries.Count > 1)
archive.DeleteEntry(archive.Entries[0]);
archive.Save("last_entry.zip");
}Exceptions
Архив је укинут.
DeleteEntry(Инт)
Уклоните улаз са листе улаза по индексу.
public Archive DeleteEntry(int entryIndex)Parameters
entryIndex int
Индекс нуле на основу улаза да се уклони.
Returns
Архив са улазом је избрисан.
Examples
using (var archive = new TarArchive("two_files.zip"))
{
archive.DeleteEntry(0);
archive.Save("single_file.zip");
}Exceptions
Архиве су укинуте.
entryIndex’ is less than 0.-or- entryIndex’ is equal to or greater than ‘Entries’ count.
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)Parameters
destinationDirectory string
Пут у директоријум да стави извучене датотеке у.
Examples
using (var archive = new Archive("archive.zip"))
{
archive.ExtractToDirectory("C:\extracted");
}Remarks
Ако директоријум не постоји, он ће бити креиран.
Exceptions
destinationDirectory’ is null.
На пример, на платформима заснованим на Виндовсу, путеви морају бити мање од 248 знакова, а имена датотека морају бити мање од 260 знакова.
Позивач нема неопходне дозволе за приступ постојећем директоријуму.
Ако директоријум не постоји, пут садржи карактер колона (:) који није део етикета дискова (“Ц:”).
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(Покретање, ArchiveSaveOptions)
Сачува архиве на пружену струју.
public void Save(Stream outputStream, ArchiveSaveOptions saveOptions = null)Parameters
outputStream Stream
Дисциплинарни ток.
saveOptions ArchiveSaveOptions
Опције за складиштење архива.
Examples
using (FileStream zipFile = File.Open("archive.zip", FileMode.Create))
{
using (var archive = new Archive())
{
archive.CreateEntry("entry.bin", "data.bin");
archive.Save(zipFile);
}
}Remarks
Mora da bude pismen.
Exceptions
outputStream’ is not writable.
Архив је укинут.
Save(String, ArchiveSaveOptions)
Сачува архиве на датотеку дестинације која је обезбеђена.
public void Save(string destinationFileName, ArchiveSaveOptions saveOptions = null)Parameters
destinationFileName string
Ако наведено име датотеке указује на постојећи датотеку, то ће бити преписано.
saveOptions ArchiveSaveOptions
Опције за складиштење архива.
Examples
using (var archive = new Archive())
{
archive.CreateEntry("entry.bin", "data.bin");
archive.Save("archive.zip", new ArchiveSaveOptions() { Encoding = Encoding.ASCII });
}Remarks
Могуће је сачувати архиву на исти пут од којих је преузета. међутим, ово се не препоручује јер овај приступ користи копирање на привремени датотеку.
Exceptions
destinationFileName’ is null.
Позивач нема захтеван дозволу за приступ.
destinationFileName’ je prazan, sadrži samo bele prostore ili sadrži nevažeće znakove.
Приступ датотеци destinationFileName’ је одбијен.
Потврђена <код класа=“paramref”>дестинацијаFileName’, име датотеке, или оба прелази максимално дужину одређену системом.На пример, на платформима заснованим на Виндовсу, путеви морају бити мање од 248 знакова, а имена датотеке морају бити мање од 260 знакова.
Датотека у destinationFileName’ садржи колону (:) у средини редове.
Датотека није пронађена.
Одређени пут је неважећи, на пример, да се налази на немапираном дискову.
Датотека је већ отворена.
SaveSplit(Стринг, СплитArchiveSaveOptions)
Сачува мулти-волумен архива у дизајнерски директоријум који је обезбеђен.
public void SaveSplit(string destinationDirectory, SplitArchiveSaveOptions options)Parameters
destinationDirectory string
Пут у директоријум у којем ће бити креирани архивни сегменти.
options SplitArchiveSaveOptions
Опције за складиштење архива, укључујући име датотеке.
Examples
using (Archive archive = new Archive())
{
archive.CreateEntry("entry.bin", "data.bin");
archive.SaveSplit(@"C:\Folder", new SplitArchiveSaveOptions("volume", 65536));
}Remarks
Овај метод састоји неколико () датотека filename.z01, filename.z02, …, filename.z(n-1), filename.zip. Немогуће је направити постојећи архиви мулти-волумен.
Exceptions
Овај архив је отворен из постојећег извора.
Овај архив је компресиран са XZ методом и шифрован.
destinationDirectory’ is null.
Позивач нема неопходне дозволе за приступ директоријуму.
destinationDirectory’ contains invalid characters such as “, >, <, or |.
Одређени пут прелази максималну дужину одређену системом.
Архив је укинут.