Class SevenZipArchiveEntry

Class SevenZipArchiveEntry

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

Representerar en enskild fil inom 7z-arkivet.

public abstract class SevenZipArchiveEntry : IArchiveFileEntry

Arv

objectSevenZipArchiveEntry

Härledd

SevenZipArchiveEntryEncrypted, SevenZipArchiveEntryPlain

Implementerar

IArchiveFileEntry

Arvade medlemmar

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

Kommentarer

Kasta en instans av Aspose.Zip.SevenZip.SevenZipArchiveEntry till Aspose.Zip.SevenZip.SevenZipArchiveEntryEncrypted för att avgöra om posten är krypterad eller inte.

Konstruktörer

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

Initierar en ny instans av klassen Aspose.Zip.SevenZip.SevenZipArchiveEntry.

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

Parametrar

parent SevenZipArchive

name string

Postnamn.

compressionSettings SevenZipCompressionSettings

Inställningar för komprimering eller dekomprimering.

source Stream

Ström med postdata som ska komprimeras eller dekomprimeras.

fileAttributes FileAttributes

Attribut från filsystemet.

fileInfo FileSystemInfo

Fil- eller kataloginformation som posten baseras på.

Undantag

ArgumentException

name är null eller tom.

Egenskaper

CompressedSize

Hämtar storleken på den komprimerade filen.

public ulong CompressedSize { get; }

Egenskapsvärde

ulong

CompressionSettings

Hämtar inställningar för komprimering eller dekomprimering.

public SevenZipCompressionSettings CompressionSettings { get; }

Egenskapsvärde

SevenZipCompressionSettings

FileAttributes

Hämtar filattribut från värdsystemet.

protected FileAttributes FileAttributes { get; }

Egenskapsvärde

FileAttributes

IsDirectory

Hämtar ett värde som indikerar om posten representerar en katalog.

public bool IsDirectory { get; }

Egenskapsvärde

bool

ModificationTime

Hämtar datum och tid för senaste modifiering.

public DateTime ModificationTime { get; }

Egenskapsvärde

DateTime

Name

Hämtar namnet på posten inom arkivet.

public string Name { get; protected set; }

Egenskapsvärde

string

Source

Hämtar datakällströmmen för posten.

protected Stream Source { get; set; }

Egenskapsvärde

Stream

UncompressedSize

Hämtar storleken på den ursprungliga filen.

public ulong UncompressedSize { get; }

Egenskapsvärde

ulong

Metoder

Extract(string, string)

Extraherar posten till filsystemet via den angivna sökvägen.

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

Parametrar

sökväg string

Sökvägen till destinationsfilen. Om filen redan finns kommer den att skrivas över.

lösenord string

Valfritt lösenord för dekryptering.

Returer

FileInfo

Filinformationen för den skapade filen.

Exempel

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

Undantag

ArgumentNullException

sökväg är null.

SecurityException

Anroparen har inte nödvändiga behörigheter för att få åtkomst.

ArgumentException

sökväg är tom, innehåller endast vita tecken eller innehåller ogiltiga tecken.

UnauthorizedAccessException

Åtkomst till filen sökväg nekas.

PathTooLongException

Den angivna sökvägen, filnamnet eller båda överskrider det systemdefinierade maximala längden. Till exempel, på Windows-baserade plattformar måste sökvägar vara mindre än 248 tecken och filnamn måste vara mindre än 260 tecken.

NotSupportedException

Fil på sökväg innehåller ett kolon (:) i mitten av strängen.

InvalidDataException

Arkivet är skadat.

Extract(Stream, string)

Extraherar posten till den angivna strömmen.

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

Parametrar

destination Stream

Destinationsström. Måste vara skrivbar.

lösenord string

Valfritt lösenord för dekryptering.

Exempel

Extrahera en post från zip-arkivet med lösenord.

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

Undantag

ArgumentException

destination stödjer inte skrivning.

InvalidOperationException

Arkivet är inte öppnat för extraktion. - eller - Denna post är en katalog.

InvalidDataException

Felaktiga data inom posten.

FinalizeCompressedData(Stream, byte[])

Skriver till utströmmen eventuella rubriker som följer komprimerade data.

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

Parametrar

outputStream Stream

Utström för posten.

encoderProperties byte[]

Egenskaper för kompressorn.

Returer

int

Antal “tekniska” byte som lades till efter den betydande datablocket för posten.

GetDestinationStream(Stream)

Destinationsström för posten, kan dekoreras.

protected abstract Stream GetDestinationStream(Stream outputStream)

Parametrar

outputStream Stream

Utström för posten.

Returer

Stream

Destinationsströmmen för postkomprimering.

Open(string)

Öppnar posten för extraktion och tillhandahåller en ström med innehållet i posten.

public Stream Open(string password = null)

Parametrar

lösenord string

Valfritt lösenord för dekryptering.

Returer

Stream

Strömmen som representerar innehållet i posten.

Exempel

Användning: Stream decompressed = entry.Open();

.NET 4.0 och högre - använd metoden Stream.CopyTo: decompressed.CopyTo(httpResponse.OutputStream)

.NET 3.5 och tidigare - kopiera byte manuellt:

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

#### Kommentarer

Läs från strömmen för att  det ursprungliga innehållet i filen. Se avsnittet exempel.

#### Undantag

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

Arkivet är inte öppnat för extraktion. - eller - Denna post är en katalog.

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

Felaktiga data inom posten.

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

Uppstår när en del av den råa strömmen komprimeras.

```csharp
public event EventHandler<progresseventargs> CompressionProgressed

Händelsetyp

EventHandler<ProgressEventArgs&gt;

Exempel

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

Kommentarer

Händelseavsändaren är en instans av Aspose.Zip.SevenZip.SevenZipArchiveEntry.

Uppropas inte i flertrådad läge för LZMA2-poster.

 Svenska