Class ArchiveEntry

Class ArchiveEntry

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

Reprezentuje jednotlivý soubor v archivu.

public abstract class ArchiveEntry : IArchiveFileEntry

Dědění

objectArchiveEntry

Odvozené

ArchiveEntryEncrypted, ArchiveEntryPlain

Implementuje

IArchiveFileEntry

Děděné členy

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

Poznámky

Převeďte instanci Aspose.Zip.ArchiveEntry na Aspose.Zip.ArchiveEntryEncrypted, abyste zjistili, zda je položka zašifrovaná nebo ne.

Konstruktor

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

Inicializuje novou instanci třídy Aspose.Zip.ArchiveEntry.

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

Parametry

name string

Název položky.

compressionSettings CompressionSettings

Nastavení pro kompresi nebo dekompresi.

sourceProvider Func<Stream&gt;

Metoda vracející stream s daty položky, která má být komprimována.

fileAttributes FileAttributes

Atributy ze souborového systému.

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

Inicializuje novou instanci třídy Aspose.Zip.ArchiveEntry.

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

Parametry

name string

Název položky.

compressionSettings CompressionSettings

Nastavení pro kompresi nebo dekompresi.

source Stream

Stream s daty položky, která má být komprimována nebo dekomprimována.

fileAttributes FileAttributes

Atributy ze souborového systému.

fileInfo FileSystemInfo

Informace o souboru nebo adresáři, na kterém je položka založena.

Vlastnosti

Comment

Získá komentář položky v archivu.

public string Comment { get; protected set; }

Hodnota vlastnosti

string

CompressedSize

Získá velikost komprimovaného souboru.

public ulong CompressedSize { get; }

Hodnota vlastnosti

ulong

CompressionSettings

Získá nastavení pro kompresi nebo dekompresi.

public CompressionSettings CompressionSettings { get; }

Hodnota vlastnosti

CompressionSettings

DataSource

Zdroj pro položku, pokud byla položka přidána do archivu, nikoli extrahována.

public Stream DataSource { get; }

Hodnota vlastnosti

Stream

Poznámky

Před přiřazením je zdroj null. Tento zdroj může být přiřazen v metodě Archive.Save v některých případech.

FileAttributes

Získá atributy souboru z hostitelského systému.

protected FileAttributes FileAttributes { get; }

Hodnota vlastnosti

FileAttributes

IsDirectory

Získá hodnotu, která indikuje, zda položka představuje adresář.

public bool IsDirectory { get; }

Hodnota vlastnosti

bool

ModificationTime

Získá nebo nastaví datum a čas poslední úpravy.

public DateTime ModificationTime { get; set; }

Hodnota vlastnosti

DateTime

Name

Získá název položky v archivu.

public string Name { get; protected set; }

Hodnota vlastnosti

string

UncompressedSize

Získá velikost původního souboru.

public ulong UncompressedSize { get; }

Hodnota vlastnosti

ulong

Metody

Extract(string, string)

Extrahuje položku do souborového systému podle poskytnuté cesty.

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

Parametry

path string

Cesta k cílovému souboru. Pokud soubor již existuje, bude přepsán.

password string

Volitelné heslo pro dešifrování.

Vrací

FileInfo

Informace o souboru vytvořeném souborem.

Příklady

Extrahujte dvě položky z archivu zip, každou s vlastním heslem

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

Výjimky

ArgumentNullException

path je null.

SecurityException

Volající nemá potřebná oprávnění pro přístup.

ArgumentException

path je prázdný, obsahuje pouze bílé znaky nebo obsahuje neplatné znaky.

UnauthorizedAccessException

Přístup k souboru path je odepřen.

PathTooLongException

Zadaná path, název souboru, nebo obojí překračuje maximální délku definovanou systémem. Například na platformách založených na Windows musí být cesty kratší než 248 znaků a názvy souborů kratší než 260 znaků.

NotSupportedException

Soubor na path obsahuje dvojtečku (:) uprostřed řetězce.

FileNotFoundException

Soubor nebyl nalezen.

DirectoryNotFoundException

Zadaná cesta je neplatná, například se nachází na nepřiřazeném disku.

IOException

Soubor je již otevřen.

InvalidDataException

Data jsou poškozená. -nebo- Ověření CRC nebo MAC selhalo pro položku.

Extract(Stream, string)

Extrahuje položku do poskytnutého streamu.

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

Parametry

destination Stream

Cílový stream. Musí být zapisovatelný.

password string

Volitelné heslo pro dešifrování.

Příklady

Extrahujte položku z archivu zip s heslem.

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

Výjimky

InvalidDataException

Data jsou poškozená. -nebo- Ověření CRC nebo MAC selhalo pro položku.

IOException

Zdroj je poškozený nebo není čitelný.

ArgumentException

destination nepodporuje zápis.

Open(string)

Otevře položku pro extrakci a poskytne stream s dekomprimovaným obsahem položky.

public Stream Open(string password = null)

Parametry

password string

Volitelné heslo pro dešifrování.

Vrací

Stream

Stream, který představuje obsah položky.

Příklady

Použití: Stream decompressed = entry.Open();

.NET 4.0 a novější - použijte metodu Stream.CopyTo: decompressed.CopyTo(httpResponse.OutputStream)

.NET 3.5 a starší - zkopírujte bajty ručně:

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

#### Poznámky

<p>Přečtěte si ze streamu, abyste získali původní obsah souboru. Viz sekce příkladů.</p>

#### Výjimky

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

Archiv je v nesprávném stavu.

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

Vyvolá se, když je komprimována část surového streamu.

```csharp
public event EventHandler<progresseventargs> CompressionProgressed

Typ události

EventHandler<ProgressEventArgs&gt;

Příklady

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

Poznámky

Odesílatelem události je instance Aspose.Zip.ArchiveEntry.

ExtractionProgressed

Vyvolá se, když je extrahována část surového streamu.

public event EventHandler<progresseventargs> ExtractionProgressed

Typ události

EventHandler<ProgressEventArgs&gt;

Příklady

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

Poznámky

Odesílatelem události je instance Aspose.Zip.ArchiveEntry.

 Čeština