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

У деяких випадках цей джерело може бути присвоєно в рамках методу «Архів.Зберегти».

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

Наприклад, на платформах, заснованих на 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.

 Українська