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
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()
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
path
est nul.
L’appelant n’a pas la permission requise pour accéder.
Le path
est vide, ne contient que 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 avoir moins de 248 caractères, et les noms de fichiers doivent avoir moins de 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.
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>
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
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
sourceDirectory
est nul.
L’appelant n’a pas la permission requise pour accéder à sourceDirectory
.
sourceDirectory
contient des caractères invalides tels que “, <, >, ou |.
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.
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
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
directory
est nul.
L’appelant n’a pas la permission requise pour accéder à directory
.
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
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
name
est nul.
name
est vide.
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
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
sourcePath
est nul.
L’appelant n’a pas la permission requise pour accéder.
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.
L’accès au fichier sourcePath
est refusé.
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.
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
Instance d’entrée Shar.
Exemples
using (var archive = new SharArchive())
{
archive.CreateEntry("data.bin", File.OpenRead("data.bin"));
archive.Save("archive.shar");
}
Exceptions
name
est nul.
source
est nul.
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
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 > 1)
archive.DeleteEntry(archive.Entries[0]);
archive.Save(outputSharFile);
}
Exceptions
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
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
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
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.
destinationFileName
est nul.
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.
Le destinationFileName
spécifié est invalide, (par exemple, il se trouve sur un lecteur non mappé).
Une erreur d’E/S s’est produite lors de l’ouverture du fichier.
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.
destinationFileName
est dans un format invalide.
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
output
est nul.
output
n’est pas accessible en écriture. - ou - output
est le même flux dont nous extrayons.