Class ArchiveEntry
Nazwa przestrzeń: Aspose.Zip Zestawienie: Aspose.Zip.dll (25.5.0)
Przedstawia pojedyncze pliki w archiwum.
public abstract class ArchiveEntry : IArchiveFileEntry
Inheritance
Derived
ArchiveEntryEncrypted , ArchiveEntryPlain
Implements
Dziedziczeni członkowie
object.GetType() , object.MemberwiseClone() , object.ToString() , object.Equals(object?) , object.Equals(object?, object?) , object.ReferenceEquals(object?, object?) , object.GetHashCode()
Remarks
Wprowadź przykład Aspose.Zip.ArchiveEntry do Aspose.Zip.ArchiveEntry, aby ustalić, czy wpis jest szyfrowany, czy nie.
Constructors
ArchiveEntry(strumień, CompressionSettings, Funcwęgiel)
Inicjalizuje nową instancję klasy Aspose.Zip.ArchiveEntry.
protected ArchiveEntry(string name, CompressionSettings compressionSettings, Func<stream> sourceProvider, uint fileAttributes)
Parameters
name
string
Imię wejścia.
compressionSettings
CompressionSettings
Ustawienia do kompresji lub dekompresji.
sourceProvider
Func
• <
Stream
>
Metoda zwrotu przepływu z danymi wejściowymi może być również kompresowana.
fileAttributes
uint
Atrakcje z systemu plików.
ArchiveEntry(strona, CompressionSettings, Stream, uint, FileSystemInfo)
Inicjalizuje nową instancję klasy Aspose.Zip.ArchiveEntry.
protected ArchiveEntry(string name, CompressionSettings compressionSettings, Stream source, uint fileAttributes, FileSystemInfo fileInfo = null)
Parameters
name
string
Imię wejścia.
compressionSettings
CompressionSettings
Ustawienia do kompresji lub dekompresji.
source
Stream
Przepływ z danymi wejściowymi albo do kompresji, albo do dekompresji.
fileAttributes
uint
Atrakcje z systemu plików.
fileInfo
FileSystemInfo
Archiwum lub adres informacyjny wpisu opartego na.
Properties
Comment
Otrzymuje komentarz do wpisu w archiwum.
public string Comment { get; protected set; }
Wartość nieruchomości
CompressedSize
Otrzymuje rozmiar skompensowanego pliku.
public ulong CompressedSize { get; }
Wartość nieruchomości
CompressionSettings
Dostarcza ustawień do kompresji lub dekompresji.
public CompressionSettings CompressionSettings { get; }
Wartość nieruchomości
DataSource
Źródło wpisów, jeśli wpis został dodany do archiwum, nie wydany.
public Stream DataSource { get; }
Wartość nieruchomości
Remarks
To źródło może być przypisane w ramach metody “Archive.Save” w niektórych przypadkach.
FileAttributes
Otrzymuje atrybuty plików z systemu hostingu.
protected FileAttributes FileAttributes { get; }
Wartość nieruchomości
IsDirectory
Otrzymuje wartość wskazującą, czy wpis reprezentuje katalog.
public bool IsDirectory { get; }
Wartość nieruchomości
ModificationTime
Otrzymuje lub ustawia ostatnią zmienioną datę i godzinę.
public DateTime ModificationTime { get; set; }
Wartość nieruchomości
Name
Znajdź nazwę wpisu w archiwum.
public string Name { get; protected set; }
Wartość nieruchomości
UncompressedSize
Otrzymuje rozmiar oryginalnego pliku.
public ulong UncompressedSize { get; }
Wartość nieruchomości
Methods
Extract(strumień, strumień)
Wyciąga wejście do systemu plików drogą dostarczoną.
public FileInfo Extract(string path, string password = null)
Parameters
path
string
Droga do pliku docelowego.Jeśli plik już istnieje, zostanie on przesłany.
password
string
Opcjonalne hasło do dekrypcji.
Returns
Informacje o pliku złożonego.
Examples
Wyciągnij dwa wpisy z archiwum zip, każdy z własnym hasłem
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.
Klient nie posiada wymaganego zezwolenia na dostęp.
Ścieżka " jest pusta, zawiera tylko białe przestrzenie lub zawiera nieprawidłowe znaky.
Dostęp do pliku path" jest odrzucony.
Określenie path", nazwa pliku lub obie przekracza maksymalną długość określoną przez system. Na przykład, na platformach opartych na systemie Windows, ścieżki muszą być mniejsze niż 248 znaków, a nazwy plików muszą być mniejsze niż 260 znaków.
Plik w path’ zawiera kolumnę (:) w środku paska.
Plik nie został znaleziony.
Określona ścieżka jest nieważna, na przykład na nieokreślonym dysku.
Archiwum jest już otwarte.
Dane są skorumpowane. -or- weryfikacja CRC lub MAC nie powiodła się z wejściem.
Extract(strumień, strumień)
Wyciąga wejście do dostarczonego przepływu.
public void Extract(Stream destination, string password = null)
Parameters
destination
Stream
Destination stream. musi być pisemny.
password
string
Opcjonalne hasło do dekrypcji.
Examples
Wyciągnij wpis z archiwum zip z hasłem.
using (FileStream zipFile = File.Open("archive.zip", FileMode.Open))
{
using (Archive archive = new Archive(zipFile))
{
archive.Entries[0].Extract(httpResponseStream, "p@s$");
}
}
Exceptions
Dane są skorumpowane. -or- weryfikacja CRC lub MAC nie powiodła się z wejściem.
Źródło jest zepsute lub nie do czytania.
destination’ does not support writing.
Open(strumień)
Otwiera wejście do ekstrakcji i zapewnia przepływ z dekompresowanym treścią wejścia.
public Stream Open(string password = null)
Parameters
password
string
Opcjonalne hasło do dekrypcji.
Returns
Strumień, który reprezentuje treść wejścia.
Examples
Wykorzystanie :Stream decompressed = entry.Open();
.NET 4.0 i wyższy - użyj metody Stream.CopyTo:decompressed.CopyTo(httpResponse.OutputStream)
.NET 3.5 i wcześniej - kopiować byty ręcznie:
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
Rodzaj wydarzeń
EventHandler • < ProgressEventArgs >
Examples
archive.Entries[0].CompressionProgressed += (s, e) => { int percent = (int)((100 * (long)e.ProceededBytes) / entrySourceStream.Length); };
Remarks
Przesyłanie wydarzeń jest instancją Aspose.Zip.ArchiveEntry.
ExtractionProgressed
Wzrasta, gdy część surowego przepływu jest wyodrębniona.
public event EventHandler<progresseventargs> ExtractionProgressed
Rodzaj wydarzeń
EventHandler • < ProgressEventArgs >
Examples
archive.Entries[0].ExtractionProgressed += (s, e) => { int percent = (int)((100 * e.ProceededBytes) / ((ArchiveEntry)s).UncompressedSize); };
Remarks
Przesyłanie wydarzeń jest instancją Aspose.Zip.ArchiveEntry.