Class SevenZipArchiveEntry

Class SevenZipArchiveEntry

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

Przedstawia jeden plik w archiwum 7z.

public abstract class SevenZipArchiveEntry : IArchiveFileEntry

Inheritance

object SevenZipArchiveEntry

Derived

SevenZipArchiveEntryEncrypted , SevenZipArchiveEntryPlain

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.SevenZip.SevenZipArchiveEntry do Aspose.Zip.SevenZip.SevenZipArchiveEntry, aby określić, czy wpis jest szyfrowany, czy nie.

Properties

CompressedSize

Otrzymuje rozmiar kompresyjnego pliku.

public ulong CompressedSize { get; }

Wartość nieruchomości

ulong

CompressionSettings

Dostarcza ustawień do kompresji lub dekompresji.

public SevenZipCompressionSettings CompressionSettings { get; }

Wartość nieruchomości

SevenZipCompressionSettings

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 ostatnio zmienioną datę i godzinę.

public DateTime ModificationTime { get; }

Wartość nieruchomości

DateTime

Name

Znajdź nazwę wpisu w archiwum.

public string Name { get; protected set; }

Wartość nieruchomości

string

Source

Otrzymuje strumień źródła danych dla wejścia.

protected Stream Source { get; }

Wartość nieruchomości

Stream

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

using (var archive = new SevenZipArchive("archive.7z"))
{
    archive.Entries[0].Extract("data.bin");
}

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.

InvalidDataException

Archiwum jest zepsute.

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 (var archive = new SevenZipArchive("archive.7z"))
{
    archive.Entries[0].Extract(httpResponseStream);
}

Exceptions

ArgumentException

destination’ does not support writing.

InvalidOperationException

Archiwum nie jest otwarte do ekstrakcji. - lub - Ten wpis jest adresem.

InvalidDataException

Nieprawidłowe dane w wejściu.

FinalizeCompressedData(Strumień, byta[])

Wpisz do przepływu wyjściowego dowolne nagłówki, które śledzą kompresowane dane.

protected abstract int FinalizeCompressedData(Stream outputStream, byte[] encoderProperties)

Parameters

outputStream Stream

Przepływ wyjściowy dla wejścia.

encoderProperties byte [ ]

Właściwości kompresora.

Returns

int

Liczba „technicznych” bajtów, które zostały dodane po wprowadzeniu znaczącego bloku danych.

GetDestinationStream(Stream)

Przepływ docelowy do wejścia, może być ozdobiony.

protected abstract Stream GetDestinationStream(Stream outputStream)

Parameters

outputStream Stream

Przepływ wyjściowy dla wejścia.

Returns

Stream

Przepływ docelowy do kompresji wejściowej.

Open(strumień)

Otwiera wejście do ekstrakcji i zapewnia strumień z treścią wejściową.

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 < (bytesRead = decompressed.Read(buffer, 0, buffer.Length)))
 fileStream.Write(buffer, 0, bytesRead);
```</p>

#### Remarks

Read from the stream to get the original content of a file. See examples section.

#### Exceptions

 [InvalidOperationException](https://learn.microsoft.com/dotnet/api/system.invalidoperationexception)

The archive is not opened for extraction. - or - This entry is a directory.

 [InvalidDataException](https://learn.microsoft.com/dotnet/api/system.io.invaliddataexception)

Wrong data within the entry.

### <a id="Aspose_Zip_SevenZip_SevenZipArchiveEntry_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.SevenZip.SevenZipArchiveEntry.

Nie odwołuje się w trybie wielokrotnym do wpisów LZMA2.

 Polski