Class ArchiveEntry

Class ArchiveEntry

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

Représente un fichier unique dans l’archive.

public abstract class ArchiveEntry : IArchiveFileEntry

Héritage

objectArchiveEntry

Dérivé

ArchiveEntryEncrypted, ArchiveEntryPlain

Implémente

IArchiveFileEntry

Membres hérités

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

Remarques

Cast une instance d’Aspose.Zip.ArchiveEntry en Aspose.Zip.ArchiveEntryEncrypted pour déterminer si l’entrée est chiffrée ou non.

Constructeurs

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

Initialise une nouvelle instance de la classe Aspose.Zip.ArchiveEntry.

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

Paramètres

name string

Nom de l’entrée.

compressionSettings CompressionSettings

Paramètres pour la compression ou la décompression.

sourceProvider Func<Stream&gt;

Méthode retournant un flux avec les données de l’entrée à compresser.

fileAttributes FileAttributes

Attributs du système de fichiers.

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

Initialise une nouvelle instance de la classe Aspose.Zip.ArchiveEntry.

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

Paramètres

name string

Nom de l’entrée.

compressionSettings CompressionSettings

Paramètres pour la compression ou la décompression.

source Stream

Flux avec les données de l’entrée à compresser ou à décompresser.

fileAttributes FileAttributes

Attributs du système de fichiers.

fileInfo FileSystemInfo

Informations sur le fichier ou le répertoire sur lequel l’entrée est basée.

Propriétés

Commentaire

Obtient le commentaire de l’entrée dans l’archive.

public string Comment { get; protected set; }

Valeur de Propriété

string

TailleCompressée

Obtient la taille du fichier compressé.

public ulong CompressedSize { get; }

Valeur de Propriété

ulong

ParamètresDeCompression

Obtient les paramètres pour la compression ou la décompression.

public CompressionSettings CompressionSettings { get; }

Valeur de Propriété

CompressionSettings

SourceDeDonnées

Source pour l’entrée si l’entrée a été ajoutée à l’archive, pas extraite.

public Stream DataSource { get; }

Valeur de Propriété

Stream

Remarques

Avant l’assignation, la source est nulle. Cette source peut être assignée dans la méthode Archive.Save dans certains cas.

AttributsDeFichier

Obtient les attributs de fichier du système hôte.

protected FileAttributes FileAttributes { get; }

Valeur de Propriété

FileAttributes

EstRépertoire

Obtient une valeur indiquant si l’entrée représente un répertoire.

public bool IsDirectory { get; }

Valeur de Propriété

bool

DateDeModification

Obtient ou définit la date et l’heure de la dernière modification.

public DateTime ModificationTime { get; set; }

Valeur de Propriété

DateTime

Nom

Obtient le nom de l’entrée dans l’archive.

public string Name { get; protected set; }

Valeur de Propriété

string

TailleNonCompressée

Obtient la taille du fichier original.

public ulong UncompressedSize { get; }

Valeur de Propriété

ulong

Méthodes

Extraire(string, string)

Extrait l’entrée vers le système de fichiers par le chemin fourni.

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

Paramètres

path string

Le chemin vers le fichier de destination. Si le fichier existe déjà, il sera écrasé.

password string

Mot de passe optionnel pour le déchiffrement.

Retourne

FileInfo

Les informations du fichier composé.

Exemples

Extraire deux entrées d'une archive zip, chacune avec son propre mot de passe

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 est nul.

SecurityException

L’appelant n’a pas la permission requise pour accéder.

ArgumentException

Le path est vide, contient uniquement des espaces blancs, ou contient des caractères invalides.

UnauthorizedAccessException

L’accès au fichier path est refusé.

PathTooLongException

Le path, le nom de fichier, ou les deux dépassent la longueur maximale définie par le système. Par exemple, sur les plateformes Windows, les chemins doivent être inférieurs à 248 caractères, et les noms de fichiers doivent être inférieurs à 260 caractères.

NotSupportedException

Le fichier à path contient un deux-points (:) au milieu de la chaîne.

FileNotFoundException

Le fichier est introuvable.

DirectoryNotFoundException

Le chemin spécifié est invalide, par exemple s’il se trouve sur un lecteur non mappé.

IOException

Le fichier est déjà ouvert.

InvalidDataException

Les données sont corrompues. -ou- Vérification CRC ou MAC échouée pour l’entrée.

Extraire(Stream, string)

Extrait l’entrée vers le flux fourni.

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

Paramètres

destination Stream

Flux de destination. Doit être écrivable.

password string

Mot de passe optionnel pour le déchiffrement.

Exemples

Extraire une entrée d'une archive zip avec un mot de passe.

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

Exceptions

InvalidDataException

Les données sont corrompues. -ou- Vérification CRC ou MAC échouée pour l’entrée.

IOException

La source est corrompue ou illisible.

ArgumentException

destination ne prend pas en charge l’écriture.

Ouvrir(string)

Ouvre l’entrée pour extraction et fournit un flux avec le contenu décompressé de l’entrée.

public Stream Open(string password = null)

Paramètres

password string

Mot de passe optionnel pour le déchiffrement.

Retourne

Stream

Le flux qui représente le contenu de l’entrée.

Exemples

Utilisation : Stream decompressed = entry.Open();

.NET 4.0 et supérieur - utilisez la méthode Stream.CopyTo : decompressed.CopyTo(httpResponse.OutputStream)

.NET 3.5 et antérieur - copiez les octets manuellement :

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

#### Remarques

<p>Lisez à partir du flux pour obtenir le contenu original du fichier. Voir la section des exemples.</p>

#### Exceptions

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

L'archive est dans un état incorrect.

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

Se déclenche lorsqu'une portion du flux brut est compressée.

```csharp
public event EventHandler<progresseventargs> CompressionProgressed

Type d’Événement

EventHandler<ProgressEventArgs&gt;

Exemples

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

Remarques

L’expéditeur de l’événement est une instance d’Aspose.Zip.ArchiveEntry.

ExtractionProgressed

Se déclenche lorsqu’une portion du flux brut est extraite.

public event EventHandler<progresseventargs> ExtractionProgressed

Type d’Événement

EventHandler<ProgressEventArgs&gt;

Exemples

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

Remarques

L’expéditeur de l’événement est une instance d’Aspose.Zip.ArchiveEntry.

 Français