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.ArchiveEntryЗашифрованный, чтобы определить, зашифрован ли вход или нет.

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

path" пустая, содержит только белые пространства или содержит недействительные символы.

UnauthorizedAccessException

Доступ к файлу path" отказывается.

PathTooLongException

Указанный path", имя файла, или оба превышают максимальную длину, установленную системой. Например, на платформах на базе Windows, пути должны быть менее 248 символов, а имена файлов должны быть менее 260 символов.

NotSupportedException

Файл в 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.

 Русский