Class ArchiveEntry

Class ArchiveEntry

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

Representerar en enskild fil inom arkivet.

public abstract class ArchiveEntry : IArchiveFileEntry

Arv

objectArchiveEntry

Härledda

ArchiveEntryEncrypted, ArchiveEntryPlain

Implementerar

IArchiveFileEntry

Ärvt 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.ArchiveEntry till Aspose.Zip.ArchiveEntryEncrypted för att avgöra om posten är krypterad eller inte.

Konstruktörer

ArchiveEntry(string, CompressionSettings, Func<stream>, FileAttributes)

Initierar en ny instans av klassen Aspose.Zip.ArchiveEntry.

protected ArchiveEntry(string name, CompressionSettings compressionSettings, Func<stream> sourceProvider, FileAttributes fileAttributes)

Parametrar

name string

Postens namn.

compressionSettings CompressionSettings

Inställningar för komprimering eller dekomprimering.

sourceProvider Func<Stream&gt;

Metod som returnerar en ström med postdata som ska komprimeras.

fileAttributes FileAttributes

Attribut från filsystemet.

ArchiveEntry(string, CompressionSettings, Stream, FileAttributes, FileSystemInfo)

Initierar en ny instans av klassen Aspose.Zip.ArchiveEntry.

protected ArchiveEntry(string name, CompressionSettings compressionSettings, Stream source, FileAttributes fileAttributes, FileSystemInfo fileInfo = null)

Parametrar

name string

Postens namn.

compressionSettings CompressionSettings

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

Information om fil eller katalog som posten baseras på.

Egenskaper

Kommentar

Hämtar kommentaren för posten inom arkivet.

public string Comment { get; protected set; }

Egenskapsvärde

string

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 CompressionSettings CompressionSettings { get; }

Egenskapsvärde

CompressionSettings

DataSource

Källa för posten om posten lades till i arkivet, inte extraherades.

public Stream DataSource { get; }

Egenskapsvärde

Stream

Kommentarer

Innan den tilldelas är källan null. Denna källa kan tilldelas inom Archive.Save metoden i vissa fall.

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 eller ställer in det senaste ändringsdatumet och tiden.

public DateTime ModificationTime { get; set; }

Egenskapsvärde

DateTime

Namn

Hämtar namnet på posten inom arkivet.

public string Name { get; protected set; }

Egenskapsvärde

string

UncompressedSize

Hämtar storleken på den ursprungliga filen.

public ulong UncompressedSize { get; }

Egenskapsvärde

ulong

Metoder

Extract(string, string)

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

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

Parametrar

path string

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

password string

Valfritt lösenord för dekryptering.

Returer

FileInfo

Filinformationen för den skapade filen.

Exempel

Extrahera två poster från zip-arkivet, var och en med sitt eget lösenord

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");
    }
}

Undantag

ArgumentNullException

path är null.

SecurityException

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

ArgumentException

path är tom, innehåller endast vita tecken eller innehåller ogiltiga tecken.

UnauthorizedAccessException

Åtkomst till filen path nekas.

PathTooLongException

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

NotSupportedException

Fil på path innehåller ett kolon (:) i mitten av strängen.

FileNotFoundException

Filen hittades inte.

DirectoryNotFoundException

Den angivna sökvägen är ogiltig, till exempel om den ligger på en icke-kartlagd enhet.

IOException

Filen är redan öppen.

InvalidDataException

Data är korrupta. -eller- CRC eller MAC-verifiering misslyckades för posten.

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.

password string

Valfritt lösenord för dekryptering.

Exempel

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

using (FileStream zipFile = File.Open("archive.zip", FileMode.Open))
{
    using (Archive archive = new Archive(zipFile))
    {
        archive.Entries[0].Extract(httpResponseStream, "p@s$");
    }
}

Undantag

InvalidDataException

Data är korrupta. -eller- CRC eller MAC-verifiering misslyckades för posten.

IOException

Källan är korrupt eller inte läsbar.

ArgumentException

destination stöder inte skrivning.

Open(string)

Öppnar posten för extraktion och tillhandahåller en ström med dekomprimerat innehåll av posten.

public Stream Open(string password = null)

Parametrar

password 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 Stream.CopyTo-metoden: decompressed.CopyTo(httpResponse.OutputStream)

.NET 3.5 och tidigare - kopiera byte manuellt:

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

#### Kommentarer

<p>Läs från strömmen för att  det ursprungliga innehållet i filen. Se exempelavsnittet.</p>

#### Undantag

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

Arkivet är i ett felaktigt tillstånd.

### <a id="Aspose_Zip_ArchiveEntry_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.ArchiveEntry.

ExtractionProgressed

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

public event EventHandler<progresseventargs> ExtractionProgressed

Händelsetyp

EventHandler<ProgressEventArgs&gt;

Exempel

archive.Entries[0].ExtractionProgressed += (s, e) =&gt; { int percent = (int)((100 * e.ProceededBytes) / ((ArchiveEntry)s).UncompressedSize); };

Kommentarer

Händelseavsändaren är en instans av Aspose.Zip.ArchiveEntry.

 Svenska