Class ArchiveEntry

Class ArchiveEntry

Nazwa przestrzeń: Aspose.Zip Zestawienie: Aspose.Zip.dll (25.5.0)

Przedstawia pojedyncze pliki w archiwum.

public abstract class ArchiveEntry : IArchiveFileEntry

Inheritance

object ArchiveEntry

Derived

ArchiveEntryEncrypted , ArchiveEntryPlain

Implements

IArchiveFileEntry

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

string

CompressedSize

Otrzymuje rozmiar skompensowanego pliku.

public ulong CompressedSize { get; }

Wartość nieruchomości

ulong

CompressionSettings

Dostarcza ustawień do kompresji lub dekompresji.

public CompressionSettings CompressionSettings { get; }

Wartość nieruchomości

CompressionSettings

DataSource

Źródło wpisów, jeśli wpis został dodany do archiwum, nie wydany.

public Stream DataSource { get; }

Wartość nieruchomości

Stream

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

FileAttributes

IsDirectory

Otrzymuje wartość wskazującą, czy wpis reprezentuje katalog.

public bool IsDirectory { get; }

Wartość nieruchomości

bool

ModificationTime

Otrzymuje lub ustawia ostatnią zmienioną datę i godzinę.

public DateTime ModificationTime { get; set; }

Wartość nieruchomości

DateTime

Name

Znajdź nazwę wpisu w archiwum.

public string Name { get; protected set; }

Wartość nieruchomości

string

UncompressedSize

Otrzymuje rozmiar oryginalnego pliku.

public ulong UncompressedSize { get; }

Wartość nieruchomości

ulong

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

FileInfo

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

ArgumentNullException

path’ is null.

SecurityException

Klient nie posiada wymaganego zezwolenia na dostęp.

ArgumentException

Ścieżka " jest pusta, zawiera tylko białe przestrzenie lub zawiera nieprawidłowe znaky.

UnauthorizedAccessException

Dostęp do pliku path" jest odrzucony.

PathTooLongException

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.

NotSupportedException

Plik w path’ zawiera kolumnę (:) w środku paska.

FileNotFoundException

Plik nie został znaleziony.

DirectoryNotFoundException

Określona ścieżka jest nieważna, na przykład na nieokreślonym dysku.

IOException

Archiwum jest już otwarte.

InvalidDataException

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

InvalidDataException

Dane są skorumpowane. -or- weryfikacja CRC lub MAC nie powiodła się z wejściem.

IOException

Źródło jest zepsute lub nie do czytania.

ArgumentException

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

Stream

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 &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

Rodzaj wydarzeń

EventHandler • < ProgressEventArgs >

Examples

archive.Entries[0].CompressionProgressed += (s, e) =&gt; { 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) =&gt; { int percent = (int)((100 * e.ProceededBytes) / ((ArchiveEntry)s).UncompressedSize); };

Remarks

Przesyłanie wydarzeń jest instancją Aspose.Zip.ArchiveEntry.

 Polski