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.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; }
стойност на имота
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.
Призователят няма изискваното разрешение за достъп.
Пътят " е празен, съдържа само бели пространства или съдържа невалидни знаци.
code class=“paramref”>path.
code class=“paramref”>path", име на файла, или и двете надвишават максималната дължина, определена от системата. например, на платформи, базирани на Windows, пътеките трябва да са по-малко от 248 знака, а имената на файла трябва да са по-малко от 260.
code class=“paramref”>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.