Class ArchiveEntry
Названий на: Aspose.Zip Асамблея: Aspose.Zip.dll (25.5.0)
З’єднує один файл в архіві.
public abstract class ArchiveEntry : IArchiveFileEntry
Inheritance
Derived
ArchiveEntryEncrypted , ArchiveEntryPlain
Implements
Нападні члени
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; }
вартість нерухомості
CompressedSize
Використовується розмір компресованого файлу.
public ulong CompressedSize { get; }
вартість нерухомості
CompressionSettings
Використовується для компресії або декомпресії.
public CompressionSettings CompressionSettings { get; }
вартість нерухомості
DataSource
Джерело для входу, якщо вхід був доданий до архіву, не витягнутий.
public Stream DataSource { get; }
вартість нерухомості
Remarks
У деяких випадках цей джерело може бути присвоєно в рамках методу «Архів.Зберегти».
FileAttributes
Приймає атрибути файлів з хостингової системи.
protected FileAttributes FileAttributes { get; }
вартість нерухомості
IsDirectory
Отримається значення, яке вказує на те, чи є вхід директором.
public bool IsDirectory { get; }
вартість нерухомості
ModificationTime
Отримати або встановити останню змінену дату і час.
public DateTime ModificationTime { get; set; }
вартість нерухомості
Name
Знайдіть ім’я входу в архіві.
public string Name { get; protected set; }
вартість нерухомості
UncompressedSize
Розмір оригінального файлу.
public ulong UncompressedSize { get; }
вартість нерухомості
Methods
Extract(Стринг, Стринг)
Витягує вхід до файлової системи шляхом, що надається.
public FileInfo Extract(string path, string password = null)
Parameters
path
string
Якщо файл вже існує, він буде переписаний.
password
string
Опціональний пароль для дешифрування.
Returns
Інформація про складений файл.
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
path’ is null.
Замовник не має необхідного дозволу на доступ.
path’ є порожнім, містить тільки білі простори, або містить недійсні символи.
Доступ до файлу path" відмовляється.
Наприклад, на платформах, заснованих на Windows, шляхи повинні бути менше 248 символів, а імена файлів повинні бути менше 260 символів.
Файл в path’ містить колону (:) в середині смуги.
Файл не знайдено.
Визначений шлях недійсний, наприклад, перебування на безкартованому двигуні.
Файл вже відкритий.
Дані пошкоджені. -або- 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
Дані пошкоджені. -або- CRC або MAC перевірка провалилася для входу.
Джерело корумповано або не читається.
destination’ does not support writing.
Open(стрічка)
Відкриває вхід для екстракції і забезпечує потік з декомпресованим вмістом входу.
public Stream Open(string password = null)
Parameters
password
string
Опціональний пароль для дешифрування.
Returns
Потік, що представляє зміст входу.
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 < (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) => { 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) => { int percent = (int)((100 * e.ProceededBytes) / ((ArchiveEntry)s).UncompressedSize); };
Remarks
Відправник подій є прикладом Aspose.Zip.ArchiveEntry.