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
Dérivé
ArchiveEntryEncrypted, ArchiveEntryPlain
Implémente
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>
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é
TailleCompressée
Obtient la taille du fichier compressé.
public ulong CompressedSize { get; }
Valeur de Propriété
ParamètresDeCompression
Obtient les paramètres pour la compression ou la décompression.
public CompressionSettings CompressionSettings { get; }
Valeur de Propriété
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é
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é
EstRépertoire
Obtient une valeur indiquant si l’entrée représente un répertoire.
public bool IsDirectory { get; }
Valeur de Propriété
DateDeModification
Obtient ou définit la date et l’heure de la dernière modification.
public DateTime ModificationTime { get; set; }
Valeur de Propriété
Nom
Obtient le nom de l’entrée dans l’archive.
public string Name { get; protected set; }
Valeur de Propriété
TailleNonCompressée
Obtient la taille du fichier original.
public ulong UncompressedSize { get; }
Valeur de Propriété
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
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
path
est nul.
L’appelant n’a pas la permission requise pour accéder.
Le path
est vide, contient uniquement des espaces blancs, ou contient des caractères invalides.
L’accès au fichier path
est refusé.
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.
Le fichier à path
contient un deux-points (:) au milieu de la chaîne.
Le fichier est introuvable.
Le chemin spécifié est invalide, par exemple s’il se trouve sur un lecteur non mappé.
Le fichier est déjà ouvert.
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
Les données sont corrompues. -ou- Vérification CRC ou MAC échouée pour l’entrée.
La source est corrompue ou illisible.
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
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
<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>
Exemples
archive.Entries[0].CompressionProgressed += (s, e) => { 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>
Exemples
archive.Entries[0].ExtractionProgressed += (s, e) => { int percent = (int)((100 * e.ProceededBytes) / ((ArchiveEntry)s).UncompressedSize); };
Remarques
L’expéditeur de l’événement est une instance d’Aspose.Zip.ArchiveEntry.