Class SharArchive

Class SharArchive

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

Cette classe représente un fichier d’archive shar.

public class SharArchive : IDisposable

Héritage

objectSharArchive

Implémente

IDisposable

Membres hérités

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

Constructeurs

SharArchive()

Initialise une nouvelle instance de la classe Aspose.Zip.Shar.SharArchive.

public SharArchive()

Exemples

L'exemple suivant montre comment compresser un fichier.

using (var archive = new SharArchive())
{
    archive.CreateEntry("first.bin", "data.bin");
    archive.Save("archive.shar");
}

SharArchive(string)

Initialise une nouvelle instance de la classe Aspose.Zip.Shar.SharArchive préparée pour la décompression.

public SharArchive(string path)

Paramètres

path string

Chemin vers la source de l’archive.

Exceptions

ArgumentNullException

path est nul.

SecurityException

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

ArgumentException

Le path est vide, ne contient que 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 avoir moins de 248 caractères, et les noms de fichiers doivent avoir moins de 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.

Propriétés

Entries

Obtient les entrées de type Aspose.Zip.Shar.SharEntry constituant l’archive.

public ReadOnlyCollection<sharentry> Entries { get; }

Valeur de la propriété

ReadOnlyCollection<SharEntry&gt;

Méthodes

CreateEntries(string, bool)

Ajoute à l’archive tous les fichiers et répertoires de manière récursive dans le répertoire donné.

public SharArchive CreateEntries(string sourceDirectory, bool includeRootDirectory = true)

Paramètres

sourceDirectory string

Répertoire à compresser.

includeRootDirectory bool

Indique s’il faut inclure le répertoire racine lui-même ou non.

Retourne

SharArchive

Instance d’entrée Shar.

Exemples

using (FileStream sharFile = File.Open("archive.shar", FileMode.Create))
{
    using (var archive = new SharArchive())
    {
        archive.CreateEntries("C:\folder", false);
        archive.Save(sharFile);
    }
}

Exceptions

ArgumentNullException

sourceDirectory est nul.

SecurityException

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

ArgumentException

sourceDirectory contient des caractères invalides tels que “, <, >, ou |.

PathTooLongException

Le chemin spécifié, 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 avoir moins de 248 caractères, et les noms de fichiers doivent avoir moins de 260 caractères. Le chemin spécifié, le nom de fichier, ou les deux sont trop longs.

IOException

sourceDirectory représente un fichier, pas un répertoire.

CreateEntries(DirectoryInfo, bool)

Ajoute à l’archive tous les fichiers et répertoires de manière récursive dans le répertoire donné.

public SharArchive CreateEntries(DirectoryInfo directory, bool includeRootDirectory = true)

Paramètres

directory DirectoryInfo

Répertoire à compresser.

includeRootDirectory bool

Indique s’il faut inclure le répertoire racine lui-même ou non.

Retourne

SharArchive

Instance d’entrée Shar.

Exemples

using (FileStream sharFile = File.Open("archive.shar", FileMode.Create))
{
    using (var archive = new SharArchive())
    {
        archive.CreateEntries(new DirectoryInfo("C:\folder"), false);
        archive.Save(sharFile);
    }
}

Exceptions

ArgumentNullException

directory est nul.

SecurityException

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

IOException

directory représente un fichier, pas un répertoire.

CreateEntry(string, FileInfo, bool)

Créer une entrée unique dans l’archive.

public SharEntry CreateEntry(string name, FileInfo fileInfo, bool openImmediately = false)

Paramètres

name string

Le nom de l’entrée.

fileInfo FileInfo

Les métadonnées du fichier ou du dossier à compresser.

openImmediately bool

Vrai si le fichier doit être ouvert immédiatement, sinon ouvrir le fichier lors de la sauvegarde de l’archive.

Retourne

SharEntry

Instance d’entrée Shar.

Exemples

FileInfo fileInfo = new FileInfo("data.bin");
using (var archive = new SharArchive())
{
    archive.CreateEntry("test.bin", fileInfo);
    archive.Save("archive.shar");
}

Remarques

Si le fichier est ouvert immédiatement avec le paramètre openImmediately, il devient bloqué jusqu'à ce que l'archive soit supprimée.

Exceptions

ArgumentNullException

name est nul.

ArgumentException

name est vide.

ArgumentNullException

fileInfo est nul.

CreateEntry(string, string, bool)

Créer une entrée unique dans l’archive.

public SharEntry CreateEntry(string name, string sourcePath, bool openImmediately = false)

Paramètres

name string

Le nom de l’entrée.

sourcePath string

Chemin vers le fichier à compresser.

openImmediately bool

Vrai si le fichier doit être ouvert immédiatement, sinon ouvrir le fichier lors de la sauvegarde de l’archive.

Retourne

SharEntry

Instance d’entrée Shar.

Exemples

using (var archive = new SharArchive())
{
    archive.CreateEntry("first.bin", "data.bin");
    archive.Save("archive.shar");
}

Remarques

Le nom de l'entrée est uniquement défini dans le paramètre name. Le nom de fichier fourni dans le paramètre sourcePath n'affecte pas le nom de l'entrée.

Si le fichier est ouvert immédiatement avec le paramètre openImmediately, il devient bloqué jusqu'à ce que l'archive soit supprimée.

Exceptions

ArgumentNullException

sourcePath est nul.

SecurityException

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

ArgumentException

Le sourcePath est vide, ne contient que des espaces blancs, ou contient des caractères invalides. - ou - Le nom de fichier, en tant que partie de name, dépasse 100 symboles.

UnauthorizedAccessException

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

PathTooLongException

Le sourcePath, 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 avoir moins de 248 caractères, et les noms de fichiers doivent avoir moins de 260 caractères. - ou - name est trop long pour shar.

NotSupportedException

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

CreateEntry(string, Stream)

Créer une entrée unique dans l’archive.

public SharEntry CreateEntry(string name, Stream source)

Paramètres

name string

Le nom de l’entrée.

source Stream

Le flux d’entrée pour l’entrée.

Retourne

SharEntry

Instance d’entrée Shar.

Exemples

using (var archive = new SharArchive())
{
    archive.CreateEntry("data.bin", File.OpenRead("data.bin"));
    archive.Save("archive.shar");
}

Exceptions

ArgumentNullException

name est nul.

ArgumentNullException

source est nul.

ArgumentException

name est vide.

DeleteEntry(SharEntry)

Supprime la première occurrence d’une entrée spécifique de la liste des entrées.

public SharArchive DeleteEntry(SharEntry entry)

Paramètres

entry SharEntry

L’entrée à supprimer de la liste des entrées.

Retourne

SharArchive

Instance d’entrée Shar.

Exemples

Voici comment vous pouvez supprimer toutes les entrées sauf la dernière :

using (var archive = new SharArchive("archive.shar"))
{
    while (archive.Entries.Count &gt; 1)
        archive.DeleteEntry(archive.Entries[0]);
    archive.Save(outputSharFile);
}

Exceptions

ArgumentNullException

entry est nul.

DeleteEntry(int)

Supprime l’entrée de la liste des entrées par index.

public SharArchive DeleteEntry(int entryIndex)

Paramètres

entryIndex int

L’index basé sur zéro de l’entrée à supprimer.

Retourne

SharArchive

L’archive avec l’entrée supprimée.

Exemples

using (var archive = new SharArchive("two_files.shar"))
{
    archive.DeleteEntry(0);
    archive.Save("single_file.shar");
}

Exceptions

ArgumentOutOfRangeException

entryIndex est inférieur à 0.-ou- entryIndex est égal ou supérieur au nombre d’Entries.

Dispose(bool)

Effectue des tâches définies par l’application associées à la libération, à la réinitialisation ou à la libération des ressources non gérées.

protected virtual void Dispose(bool disposing)

Paramètres

disposing bool

Indique si les ressources gérées doivent être supprimées.

Dispose()

Effectue des tâches définies par l’application associées à la libération, à la réinitialisation ou à la libération des ressources non gérées.

public void Dispose()

Save(string)

Sauvegarde l’archive dans le fichier de destination fourni.

public void Save(string destinationFileName)

Paramètres

destinationFileName string

Le chemin de l’archive à créer. Si le nom de fichier spécifié pointe vers un fichier existant, il sera écrasé.

Exemples

using (var archive = new SharArchive())
{
    archive.CreateEntry("entry1", "data.bin");        
    archive.Save("archive.shar");
}

Remarques

Il est possible de sauvegarder une archive au même chemin que celui à partir duquel elle a été chargée. Cependant, cela n'est pas recommandé car cette approche utilise la copie dans un fichier temporaire.

Exceptions

ArgumentException

destinationFileName est une chaîne de longueur nulle, ne contient que des espaces blancs, ou contient un ou plusieurs caractères invalides comme défini par System.IO.Path.InvalidPathChars.

ArgumentNullException

destinationFileName est nul.

PathTooLongException

Le destinationFileName spécifié, 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 avoir moins de 248 caractères, et les noms de fichiers doivent avoir moins de 260 caractères.

DirectoryNotFoundException

Le destinationFileName spécifié est invalide, (par exemple, il se trouve sur un lecteur non mappé).

IOException

Une erreur d’E/S s’est produite lors de l’ouverture du fichier.

UnauthorizedAccessException

destinationFileName spécifie un fichier qui est en lecture seule et l’accès n’est pas en lecture.-ou- le chemin spécifié est un répertoire.-ou- L’appelant n’a pas la permission requise.

NotSupportedException

destinationFileName est dans un format invalide.

FileNotFoundException

Le fichier est introuvable.

Save(Stream)

Sauvegarde l’archive dans le flux fourni.

public void Save(Stream output)

Paramètres

output Stream

Flux de destination.

Exemples

using (FileStream sharFile = File.Open("archive.shar", FileMode.Create))
{
    using (var archive = new SharArchive())
    {
        archive.CreateEntry("entry1", "data.bin");        
        archive.Save(sharFile);
    }
}

Remarques

output doit être accessible en écriture.

Exceptions

ArgumentNullException

output est nul.

ArgumentException

output n’est pas accessible en écriture. - ou - output est le même flux dont nous extrayons.

 Français