Class ArchiveEntry

Class ArchiveEntry

Namn på plats: Aspose.Zip Sammanfattning: Aspose.Zip.dll (25.5.0)

Representerar en enda fil inom arkivet.

public abstract class ArchiveEntry : IArchiveFileEntry

Inheritance

object ArchiveEntry

Derived

ArchiveEntryEncrypted , ArchiveEntryPlain

Implements

IArchiveFileEntry

Arvsmedlemmar

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

Remarks

Ange en Aspose.Zip.ArchiveEntry instans till Aspose.Zip.ArchiveEntryKrypterad för att avgöra om inmatningen är krypterad eller inte.

Constructors

ArchiveEntry(sträng, CompressionSettings, Funcoch uint)

Initialiserar en ny instans av Aspose.Zip.ArchiveEntry klass.

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

Parameters

name string

Entré namn .

compressionSettings CompressionSettings

Ställningar för kompression eller dekompression.

sourceProvider Func ochlt; Stream >

Metoden att returnera ström med inmatningsdata ska antingen komprimeras.

fileAttributes uint

Attribut från filsystemet.

ArchiveEntry(sträng, CompressionSettings, Stream, uint, FileSystemInfo)

Initialiserar en ny instans av Aspose.Zip.ArchiveEntry klass.

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

Parameters

name string

Entré namn .

compressionSettings CompressionSettings

Ställningar för kompression eller dekompression.

source Stream

Stream med inmatningsdata antingen för att komprimeras eller för att dekomprimeras.

fileAttributes uint

Attribut från filsystemet.

fileInfo FileSystemInfo

Arkiv eller katalog information ingång baserad på.

Properties

Comment

Får en kommentar om ingången i arkivet.

public string Comment { get; protected set; }

Fastighetsvärde

string

CompressedSize

Få storlek på den komprimerade filen.

public ulong CompressedSize { get; }

Fastighetsvärde

ulong

CompressionSettings

Få inställningar för kompression eller dekompression.

public CompressionSettings CompressionSettings { get; }

Fastighetsvärde

CompressionSettings

DataSource

Källan för inmatningen om den läggs till i arkivet, inte extraheras.

public Stream DataSource { get; }

Fastighetsvärde

Stream

Remarks

Innan tilldelas, är källan noll. Denna källor kan tilldelas inom “Archive.Save” metod i vissa fall.

FileAttributes

Få filattribut från värdsystemet.

protected FileAttributes FileAttributes { get; }

Fastighetsvärde

FileAttributes

IsDirectory

Det får ett värde som anger om entréen representerar en katalog.

public bool IsDirectory { get; }

Fastighetsvärde

bool

ModificationTime

Få eller ange senast modifierad datum och tid.

public DateTime ModificationTime { get; set; }

Fastighetsvärde

DateTime

Name

Få namn på ingången inom arkivet.

public string Name { get; protected set; }

Fastighetsvärde

string

UncompressedSize

Få storlek på den ursprungliga filen.

public ulong UncompressedSize { get; }

Fastighetsvärde

ulong

Methods

Extract(String och String)

Extraherar ingången till filsystemet genom den föreslagna vägen.

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

Parameters

path string

Vägen till målfilen. om filen redan existerar, kommer den att översättas.

password string

Alternativt lösenord för dekryptering.

Returns

FileInfo

Information om den sammansatta filen.

Examples

Hämta två inmatningar i zip arkiv, var och en med 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");
    }
}

Exceptions

ArgumentNullException

path’ is null.

SecurityException

Sökanden har inte behörig tillstånd att komma åt.

ArgumentException

path’ är tom, innehåller endast vita utrymmen, eller innehåller olagliga tecken.

UnauthorizedAccessException

Tillgång till filen path" vägras.

PathTooLongException

Den angivna path’, filnamn, eller båda överstiger den systemdefinierade maximala längden. Till exempel på Windows-baserade plattformar måste vägar vara mindre än 248 tecken, och filnamn måste vara mindre än 260 tecken.

NotSupportedException

Filen på path’ innehåller en kolumn (:) i mitten av raden.

FileNotFoundException

Filen hittades inte.

DirectoryNotFoundException

Den angivna vägen är ogiltig, t.ex. att vara på en okartad disk.

IOException

Filen är redan öppen.

InvalidDataException

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

Extract(Ström, ström)

Extraherar ingången till den tillhandahållna strömmen.

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

Parameters

destination Stream

Destination stream. måste vara skribar.

password string

Alternativt lösenord för dekryptering.

Examples

Extract en inmatning av zip arkiv 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$");
    }
}

Exceptions

InvalidDataException

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

IOException

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

ArgumentException

destination’ does not support writing.

Open(Sträng)

Öppnar entréen för utvinning och ger en ström med dekomprimerad entréinnehåll.

public Stream Open(string password = null)

Parameters

password string

Alternativt lösenord för dekryptering.

Returns

Stream

Strömmen som representerar innehållet i ingången.

Examples

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

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

.NET 3.5 och tidigare - kopiera byter manuellt:

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

Event typ

EventHandler ochlt; ProgressEventArgs >

Examples

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

Remarks

Event sender är en Aspose.Zip.ArchiveEntry instans.

ExtractionProgressed

Ökar när en del av råströmmen extraheras.

public event EventHandler<progresseventargs> ExtractionProgressed

Event typ

EventHandler ochlt; ProgressEventArgs >

Examples

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

Remarks

Event sender är en Aspose.Zip.ArchiveEntry instans.

 Svenska