Class SevenZipArchiveEntry

Class SevenZipArchiveEntry

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

Représente un fichier unique dans une archive 7z.

public abstract class SevenZipArchiveEntry : IArchiveFileEntry

Héritage

objectSevenZipArchiveEntry

Dérivé

SevenZipArchiveEntryEncrypted, SevenZipArchiveEntryPlain

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

Convertissez une instance d’Aspose.Zip.SevenZip.SevenZipArchiveEntry en Aspose.Zip.SevenZip.SevenZipArchiveEntryEncrypted pour déterminer si l’entrée est chiffrée ou non.

Constructeurs

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

Initialise une nouvelle instance de la classe Aspose.Zip.SevenZip.SevenZipArchiveEntry.

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

Paramètres

parent SevenZipArchive

name string

Nom de l’entrée.

compressionSettings SevenZipCompressionSettings

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 se base l’entrée.

Exceptions

ArgumentException

Le name est nul ou vide.

Propriétés

CompressedSize

Obtient la taille du fichier compressé.

public ulong CompressedSize { get; }

Valeur de la propriété

ulong

CompressionSettings

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

public SevenZipCompressionSettings CompressionSettings { get; }

Valeur de la propriété

SevenZipCompressionSettings

FileAttributes

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

protected FileAttributes FileAttributes { get; }

Valeur de la propriété

FileAttributes

IsDirectory

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

public bool IsDirectory { get; }

Valeur de la propriété

bool

ModificationTime

Obtient la date et l’heure de la dernière modification.

public DateTime ModificationTime { get; }

Valeur de la propriété

DateTime

Name

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

public string Name { get; protected set; }

Valeur de la propriété

string

Source

Obtient le flux de données source pour l’entrée.

protected Stream Source { get; set; }

Valeur de la propriété

Stream

UncompressedSize

Obtient la taille du fichier original.

public ulong UncompressedSize { get; }

Valeur de la propriété

ulong

Méthodes

Extract(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 sur le fichier composé.

Exemples

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

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 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 comporter moins de 248 caractères et les noms de fichiers moins de 260 caractères.

NotSupportedException

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

InvalidDataException

L’archive est corrompue.

Extract(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

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

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

Exceptions

ArgumentException

destination ne prend pas en charge l’écriture.

InvalidOperationException

L’archive n’est pas ouverte pour extraction. - ou - Cette entrée est un répertoire.

InvalidDataException

Données incorrectes dans l’entrée.

FinalizeCompressedData(Stream, byte[])

Écrit dans le flux de sortie tous les en-têtes qui suivent les données compressées.

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

Paramètres

outputStream Stream

Flux de sortie pour l’entrée.

encoderProperties byte[]

Propriétés du compresseur.

Retourne

int

Nombre de “bytes techniques” qui ont été ajoutés après le bloc de données significatif de l’entrée.

GetDestinationStream(Stream)

Flux de destination pour l’entrée, peut être décoré.

protected abstract Stream GetDestinationStream(Stream outputStream)

Paramètres

outputStream Stream

Flux de sortie pour l’entrée.

Retourne

Stream

Le flux de destination pour la compression de l’entrée.

Open(string)

Ouvre l’entrée pour extraction et fournit un flux avec le contenu 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 < (bytesRead = decompressed.Read(buffer, 0, buffer.Length)))
 fileStream.Write(buffer, 0, bytesRead);
```</p>

#### Remarques

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

#### Exceptions

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

L'archive n'est pas ouverte pour extraction. - ou - Cette entrée est un répertoire.

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

Données incorrectes dans l'entrée.

### <a id="Aspose_Zip_SevenZip_SevenZipArchiveEntry_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.SevenZip.SevenZipArchiveEntry.

Ne s'invoque pas en mode multi-thread pour les entrées LZMA2.

 Français