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
Этот источник может быть назначен в рамках метода “Archive.Save” в некоторых случаях.
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" отказывается.
Указанный 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.