Class ArchiveEntry

Class ArchiveEntry

Името на пространството: Aspose.Zip Асамблея: Aspose.Zip.dll (25.5.0)

Представя един файл в архива.

public abstract class ArchiveEntry : IArchiveFileEntry

Inheritance

object ArchiveEntry

Derived

ArchiveEntryEncrypted , ArchiveEntryPlain

Implements

IArchiveFileEntry

наследници

object.GetType() , object.MemberwiseClone() , object.ToString() , object.Equals(object?) , object.Equals(object?, object?) , object.ReferenceEquals(object?, object?) , object.GetHashCode()

Remarks

Aspose.Zip.ArchiveEntry към Aspose.Zip.ArchiveEntryEncrypted.

Constructors

ArchiveEntry(Стрийк, CompressionSettings, FuncУинт)

Aspose.Zip.ArchiveEntry.

protected ArchiveEntry(string name, CompressionSettings compressionSettings, Func<stream> sourceProvider, uint fileAttributes)

Parameters

name string

Името на влизането.

compressionSettings CompressionSettings

Настройки за компресиране или декомпресия.

sourceProvider Func < Stream >

Методът за връщане на потока с данни за влизане или да бъде компресиран.

fileAttributes uint

Атрибути от файловата система.

ArchiveEntry(лента, CompressionSettings, Stream, uint, FileSystemInfo)

Aspose.Zip.ArchiveEntry.

protected ArchiveEntry(string name, CompressionSettings compressionSettings, Stream source, uint fileAttributes, FileSystemInfo fileInfo = null)

Parameters

name string

Името на влизането.

compressionSettings CompressionSettings

Настройки за компресиране или декомпресия.

source Stream

Поток с данни за влизане или да бъдат компресирани или декомпресирани.

fileAttributes uint

Атрибути от файловата система.

fileInfo FileSystemInfo

Датотеки или директории информация за входа въз основа на.

Properties

Comment

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

public string Comment { get; protected set; }

стойност на имота

string

CompressedSize

Получава размера на компресирания файл.

public ulong CompressedSize { get; }

стойност на имота

ulong

CompressionSettings

Има настройки за компресиране или декомпресия.

public CompressionSettings CompressionSettings { get; }

стойност на имота

CompressionSettings

DataSource

Източник за входа, ако входът е добавен към архива, не е извлечен.

public Stream DataSource { get; }

стойност на имота

Stream

Remarks

Този източник може да бъде назначен в рамките на метода “Archive.Save” в някои случаи.

FileAttributes

Получава файлови атрибути от домакинската система.

protected FileAttributes FileAttributes { get; }

стойност на имота

FileAttributes

IsDirectory

Получава стойност, която показва дали входът представлява директория.

public bool IsDirectory { get; }

стойност на имота

bool

ModificationTime

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

public DateTime ModificationTime { get; set; }

стойност на имота

DateTime

Name

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

public string Name { get; protected set; }

стойност на имота

string

UncompressedSize

Получава размера на оригиналния файл.

public ulong UncompressedSize { get; }

стойност на имота

ulong

Methods

Extract(Стрийк, Стрийк)

Извлича входа към файловата система по предоставения път.

public FileInfo Extract(string path, string password = null)

Parameters

path string

Пътят към целевия файл.Ако файлът вече съществува, той ще бъде пренаписан.

password string

Опционална парола за дешифроване.

Returns

FileInfo

Информацията за съставния файл.

Examples

Изтеглете два входа от zip архива, всяка с собствена парола

using (FileStream zipFile = File.Open("archive.zip", FileMode.Open))
{
    using (Archive archive = new Archive(zipFile))
    {
        archive.Entries[0].Extract("first.bin", "first_pass");
        archive.Entries[1].Extract("second.bin", "second_pass");
    }
}

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

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

InvalidDataException

Данните са корумпирани. -или- CRC или MAC проверка не е успела за входа.

Extract(Стрий, Стрий)

Изтегляне на входа към предоставения поток.

public void Extract(Stream destination, string password = null)

Parameters

destination Stream

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

password string

Опционална парола за дешифроване.

Examples

Изтеглете вход от zip архива с парола.

using (FileStream zipFile = File.Open("archive.zip", FileMode.Open))
{
    using (Archive archive = new Archive(zipFile))
    {
        archive.Entries[0].Extract(httpResponseStream, "p@s$");
    }
}

Exceptions

InvalidDataException

Данните са корумпирани. -или- CRC или MAC проверка не е успела за входа.

IOException

Източникът е корумпиран или не може да се чете.

ArgumentException

destination’ does not support writing.

Open(Стрий)

Отворете входа за екстракция и осигурете поток с декомпресиран вход.

public Stream Open(string password = null)

Parameters

password string

Опционална парола за дешифроване.

Returns

Stream

Потокът, който представлява съдържанието на входа.

Examples

Използване на:Stream decompressed = entry.Open();

.NET 4.0 и по-висока - използвайте метода Stream.CopyTo:decompressed.CopyTo(httpResponse.OutputStream)

.NET 3.5 и по-рано - копиране на байтове ръчно:

byte[] buffer = new byte[8192];
int bytesRead;
while (0 &lt; (bytesRead = decompressed.Read(buffer, 0, buffer.Length)))
 fileStream.Write(buffer, 0, bytesRead);
```</p>

#### Remarks

<p>Read from the stream to get the original content of a file. See examples section.</p>

#### Exceptions

 [InvalidOperationException](https://learn.microsoft.com/dotnet/api/system.invalidoperationexception)

The archive is in an incorrect state.

### <a id="Aspose_Zip_ArchiveEntry_CompressionProgressed"></a> CompressionProgressed

Raises when a portion of raw stream compressed.

```csharp
public event EventHandler<progresseventargs> CompressionProgressed

Тип на събитие

EventHandler < ProgressEventArgs >

Examples

archive.Entries[0].CompressionProgressed += (s, e) =&gt; { int percent = (int)((100 * (long)e.ProceededBytes) / entrySourceStream.Length); };

Remarks

Aspose.Zip.ArchiveEntry.

ExtractionProgressed

Увеличава се, когато част от суров поток се извлича.

public event EventHandler<progresseventargs> ExtractionProgressed

Тип на събитие

EventHandler < ProgressEventArgs >

Examples

archive.Entries[0].ExtractionProgressed += (s, e) =&gt; { int percent = (int)((100 * e.ProceededBytes) / ((ArchiveEntry)s).UncompressedSize); };

Remarks

Aspose.Zip.ArchiveEntry.

 Български