Class SevenZipArchiveEntry

Class SevenZipArchiveEntry

Namespace: Aspose.Zip.SevenZip
Assembly: Aspose.Zip.dll (25.1.0)

Reprezentuje pojedynczy plik w archiwum 7z.

public abstract class SevenZipArchiveEntry : IArchiveFileEntry

Dziedziczenie

objectSevenZipArchiveEntry

Pochodne

SevenZipArchiveEntryEncrypted, SevenZipArchiveEntryPlain

Implementuje

IArchiveFileEntry

Członkowie dziedziczeni

object.GetType(), object.MemberwiseClone(), object.ToString(), object.Equals(object?), object.Equals(object?, object?), object.ReferenceEquals(object?, object?), object.GetHashCode()

Uwagi

Rzuć instancję Aspose.Zip.SevenZip.SevenZipArchiveEntry na Aspose.Zip.SevenZip.SevenZipArchiveEntryEncrypted, aby określić, czy wpis jest zaszyfrowany, czy nie.

Konstruktorzy

SevenZipArchiveEntry(SevenZipArchive, string, SevenZipCompressionSettings, Stream, FileAttributes, FileSystemInfo)

Inicjalizuje nową instancję klasy Aspose.Zip.SevenZip.SevenZipArchiveEntry.

protected SevenZipArchiveEntry(SevenZipArchive parent, string name, SevenZipCompressionSettings compressionSettings, Stream source, FileAttributes fileAttributes, FileSystemInfo fileInfo = null)

Parametry

parent SevenZipArchive

name string

Nazwa wpisu.

compressionSettings SevenZipCompressionSettings

Ustawienia dla kompresji lub dekompresji.

source Stream

Strumień z danymi wpisu, które mają być skompresowane lub zdekompresowane.

fileAttributes FileAttributes

Atrybuty z systemu plików.

fileInfo FileSystemInfo

Informacje o pliku lub katalogu, na podstawie których oparty jest wpis.

Wyjątki

ArgumentException

name jest null lub pusty.

Właściwości

CompressedSize

Pobiera rozmiar skompresowanego pliku.

public ulong CompressedSize { get; }

Wartość właściwości

ulong

CompressionSettings

Pobiera ustawienia dla kompresji lub dekompresji.

public SevenZipCompressionSettings CompressionSettings { get; }

Wartość właściwości

SevenZipCompressionSettings

FileAttributes

Pobiera atrybuty pliku z systemu hosta.

protected FileAttributes FileAttributes { get; }

Wartość właściwości

FileAttributes

IsDirectory

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

public bool IsDirectory { get; }

Wartość właściwości

bool

ModificationTime

Pobiera datę i czas ostatniej modyfikacji.

public DateTime ModificationTime { get; }

Wartość właściwości

DateTime

Name

Pobiera nazwę wpisu w archiwum.

public string Name { get; protected set; }

Wartość właściwości

string

Source

Pobiera strumień danych źródłowych dla wpisu.

protected Stream Source { get; set; }

Wartość właściwości

Stream

UncompressedSize

Pobiera rozmiar oryginalnego pliku.

public ulong UncompressedSize { get; }

Wartość właściwości

ulong

Metody

Extract(string, string)

Wydobywa wpis do systemu plików według podanej ścieżki.

public FileInfo Extract(string path, string password = null)

Parametry

path string

Ścieżka do pliku docelowego. Jeśli plik już istnieje, zostanie nadpisany.

password string

Opcjonalne hasło do odszyfrowania.

Zwraca

FileInfo

Informacje o pliku skompresowanym.

Przykłady

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

Wyjątki

ArgumentNullException

path jest null.

SecurityException

Wywołujący nie ma wymaganych uprawnień do dostępu.

ArgumentException

path jest pusty, zawiera tylko białe znaki lub zawiera nieprawidłowe znaki.

UnauthorizedAccessException

Dostęp do pliku path jest zabroniony.

PathTooLongException

Podana path, nazwa pliku lub obie przekraczają maksymalną długość zdefiniowaną przez system. Na przykład na platformach opartych na systemie Windows, ścieżki muszą mieć mniej niż 248 znaków, a nazwy plików muszą mieć mniej niż 260 znaków.

NotSupportedException

Plik w path zawiera dwukropek (:) w środku ciągu.

InvalidDataException

Archiwum jest uszkodzone.

Extract(Stream, string)

Wydobywa wpis do podanego strumienia.

public void Extract(Stream destination, string password = null)

Parametry

destination Stream

Strumień docelowy. Musi być zapisywalny.

password string

Opcjonalne hasło do odszyfrowania.

Przykłady

Wydobycie wpisu z archiwum zip z hasłem.

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

Wyjątki

ArgumentException

destination nie obsługuje zapisu.

InvalidOperationException

Archiwum nie jest otwarte do wydobycia. - lub - Ten wpis to katalog.

InvalidDataException

Nieprawidłowe dane w obrębie wpisu.

FinalizeCompressedData(Stream, byte[])

Zapisuje do strumienia wyjściowego wszelkie nagłówki, które następują po skompresowanych danych.

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

Parametry

outputStream Stream

Strumień wyjściowy dla wpisu.

encoderProperties byte[]

Właściwości kompresora.

Zwraca

int

Liczba “technicznych” bajtów, które zostały dodane po istotnym bloku danych wpisu.

GetDestinationStream(Stream)

Strumień docelowy dla wpisu, może być ozdobiony.

protected abstract Stream GetDestinationStream(Stream outputStream)

Parametry

outputStream Stream

Strumień wyjściowy dla wpisu.

Zwraca

Stream

Strumień docelowy dla kompresji wpisu.

Open(string)

Otwiera wpis do wydobycia i zapewnia strumień z zawartością wpisu.

public Stream Open(string password = null)

Parametry

password string

Opcjonalne hasło do odszyfrowania.

Zwraca

Stream

Strumień, który reprezentuje zawartość wpisu.

Przykłady

Użycie: Stream decompressed = entry.Open();

.NET 4.0 i wyżej - użyj metody Stream.CopyTo: decompressed.CopyTo(httpResponse.OutputStream)

.NET 3.5 i wcześniej - skopiuj bajty ręcznie:

byte[] buffer = new byte[8192];
int bytesRead;
while (0 < (bytesRead = decompressed.Read(buffer, 0, buffer.Length)))
 fileStream.Write(buffer, 0, bytesRead);
```</p>

#### Uwagi

Odczytaj ze strumienia, aby uzyskać oryginalną zawartość pliku. Zobacz sekcję przykładów.

#### Wyjątki

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

Archiwum nie jest otwarte do wydobycia. - lub - Ten wpis to katalog.

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

Nieprawidłowe dane w obrębie wpisu.

### <a id="Aspose_Zip_SevenZip_SevenZipArchiveEntry_CompressionProgressed"></a> CompressionProgressed

Podnosi zdarzenie, gdy część surowego strumienia jest skompresowana.

```csharp
public event EventHandler<progresseventargs> CompressionProgressed

Typ zdarzenia

EventHandler<ProgressEventArgs&gt;

Przykłady

archive.Entries[0].CompressionProgressed += (s, e) =&gt; { int percent = (int)((100 * (long)e.ProceededBytes) / entrySourceStream.Length); };

Uwagi

Nadawcą zdarzenia jest instancja Aspose.Zip.SevenZip.SevenZipArchiveEntry.

Nie wywołuje się w trybie wielowątkowym dla wpisów LZMA2.

 Polski