Class Bzip2Archive
Namespace: Aspose.Zip.Bzip2
Assembly: Aspose.Zip.dll (25.1.0)
Cette classe représente un fichier d’archive bzip2. Utilisez-la pour composer ou extraire des archives bzip2.
public class Bzip2Archive : IArchive, IDisposable, IArchiveFileEntry
Héritage
Implémente
IArchive, IDisposable, 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
bzip2 compresse les fichiers en utilisant l’algorithme de compression de texte par tri de blocs de Burrows-Wheeler et le codage de Huffman. Voir plus : https://fr.wikipedia.org/wiki/Bzip2
Constructeurs
Bzip2Archive()
Initialise une nouvelle instance de la classe Aspose.Zip.Bzip2.Bzip2Archive préparée pour la compression.
public Bzip2Archive()
Exemples
L'exemple suivant montre comment compresser un fichier.
using (Bzip2Archive archive = new Bzip2Archive())
{
archive.SetSource("data.bin");
archive.Save("archive.bz2");
}
Bzip2Archive(Stream, Bzip2LoadOptions)
Initialise une nouvelle instance de la classe Aspose.Zip.Bzip2.Bzip2Archive préparée pour la décompression.
public Bzip2Archive(Stream sourceStream, Bzip2LoadOptions loadOptions = null)
Paramètres
sourceStream
Stream
La source de l’archive.
loadOptions
Bzip2LoadOptions
Les options pour charger l’archive.
Exemples
Ouvrir une archive à partir d'un flux et l'extraire dans un MemoryStream
var ms = new MemoryStream();
using (Bzip2Archive archive = new Bzip2Archive(File.OpenRead("archive.bz2")))
archive.Open().CopyTo(ms);
Remarques
Ce constructeur ne décompresse pas. Voir la méthode Aspose.Zip.Bzip2.Bzip2Archive.Open pour décompresser.
Bzip2Archive(string, Bzip2LoadOptions)
Initialise une nouvelle instance de la classe Aspose.Zip.Bzip2.Bzip2Archive préparée pour la décompression.
public Bzip2Archive(string path, Bzip2LoadOptions loadOptions = null)
Paramètres
path
string
Le chemin vers le fichier d’archive.
loadOptions
Bzip2LoadOptions
Les options pour charger l’archive.
Exemples
Ouvrir une archive à partir d'un fichier par chemin et l'extraire dans un MemoryStream
var ms = new MemoryStream();
using (Bzip2Archive archive = new Bzip2Archive("archive.bz2"))
archive.Open().CopyTo(ms);
Remarques
Ce constructeur ne décompresse pas. Voir la méthode Aspose.Zip.Bzip2.Bzip2Archive.Open pour décompresser.
Exceptions
path
est nul.
L’appelant n’a pas la permission requise pour accéder.
Le path
est vide, ne contient que des espaces vides, 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 comporter moins de 248 caractères, et les noms de fichiers 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.
Méthodes
Dispose()
Effectue des tâches définies par l’application associées à la libération, à la libération ou à la réinitialisation des ressources non gérées.
public void Dispose()
Dispose(bool)
Effectue des tâches définies par l’application associées à la libération, à la libération ou à la réinitialisation 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 libérées.
Extract(Stream)
Extrait l’archive vers le flux fourni.
public void Extract(Stream destination)
Paramètres
destination
Stream
Flux de destination. Doit être écrivable.
Exemples
using (Bzip2Archive archive = new Bzip2Archive("archive.bz2"))
{
archive.Extract(httpResponseStream);
}
Exceptions
destination
ne prend pas en charge l’écriture.
Extract(string)
Extrait l’archive vers le fichier par chemin.
public FileInfo Extract(string path)
Paramètres
path
string
Le chemin vers le fichier de destination. Si le fichier existe déjà, il sera écrasé.
Retourne
Info du fichier extrait.
Exceptions
path
est nul.
L’appelant n’a pas la permission requise pour accéder.
Le path
est vide, ne contient que des espaces vides, 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 comporter moins de 248 caractères, et les noms de fichiers 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.
ExtractToDirectory(string)
Extrait le contenu de l’archive vers le répertoire fourni.
public void ExtractToDirectory(string destinationDirectory)
Paramètres
destinationDirectory
string
Le chemin vers le répertoire où placer les fichiers extraits.
Remarques
Si le répertoire n’existe pas, il sera créé.
Exceptions
destinationDirectory
est nul.
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 comporter moins de 248 caractères et les noms de fichiers moins de 260 caractères.
L’appelant n’a pas la permission requise pour accéder au répertoire existant.
Si le répertoire n’existe pas, le chemin contient un caractère deux-points (:) qui ne fait pas partie d’une étiquette de lecteur (“C:").
destinationDirectory
est une chaîne de longueur zéro, ne contient que des espaces vides, ou contient un ou plusieurs caractères invalides. Vous pouvez interroger les caractères invalides en utilisant la méthode System.IO.Path.GetInvalidPathChars.
-ou- le chemin est préfixé par, ou contient, uniquement un caractère deux-points (:).
Le répertoire spécifié par le chemin est un fichier. -ou- Le nom de réseau n’est pas connu.
Open()
Ouvre l’archive pour extraction et fournit un flux avec le contenu de l’archive.
public Stream Open()
Retourne
Le flux qui représente le contenu de l’archive.
Exemples
Utilisation :
Stream decompressed = archive.Open();
.NET 4.0 et supérieur - utilisez la méthode Stream.CopyTo :
decompressed.CopyTo(httpResponse.OutputStream)
.NET 3.5 et avant - 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.
### <a id="Aspose_Zip_Bzip2_Bzip2Archive_Save_System_IO_Stream_Aspose_Zip_Bzip2_Bzip2SaveOptions_"></a> Save\(Stream, Bzip2SaveOptions\)
Enregistre l'archive dans le flux fourni.
```csharp
public void Save(Stream outputStream, Bzip2SaveOptions saveOptions = null)
Paramètres
outputStream
Stream
Flux de destination.
saveOptions
Bzip2SaveOptions
Options pour enregistrer une archive bzip2. Si non spécifié, une taille de bloc de 900 Ko sera utilisée.
Exemples
Écrit les données compressées dans le flux de réponse http.
using (var archive = new Bzip2Archive())
{
archive.SetSource(new FileInfo("data.bin"));
archive.Save(httpResponse.OutputStream);
}
Remarques
outputStream
doit être écrivable.
Exceptions
La source des données à archiver n’a pas été fournie.
outputStream
n’est pas écrivable.
La source de fichier est en lecture seule ou est un répertoire.
Le chemin de source de fichier spécifié est invalide, par exemple s’il se trouve sur un lecteur non mappé.
La source de fichier est déjà ouverte.
Save(string, Bzip2SaveOptions)
Enregistre l’archive dans le fichier de destination fourni.
public void Save(string destinationFileName, Bzip2SaveOptions saveOptions = null)
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é.
saveOptions
Bzip2SaveOptions
Options pour enregistrer une archive bzip2. Si non spécifié, une taille de bloc de 900 Ko sera utilisée.
Exemples
Écrit les données compressées dans un fichier.
using (var archive = new Bzip2Archive())
{
archive.SetSource(new FileInfo("data.bin"));
archive.Save("data.bz2");
}
Exceptions
destinationFileName
est nul.
L’appelant n’a pas la permission requise pour accéder.
Le destinationFileName
est vide, ne contient que des espaces vides, ou contient des caractères invalides.
L’accès au fichier destinationFileName
est refusé.
Le destinationFileName
, 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.
Le fichier à destinationFileName
contient un deux-points (:) au milieu de la chaîne.
SetSource(Stream)
Définit le contenu à compresser dans l’archive.
public void SetSource(Stream source)
Paramètres
source
Stream
Le flux d’entrée pour l’archive.
Exemples
using (Bzip2Archive archive = new Bzip2Archive())
{
archive.SetSource(new MemoryStream(new byte[] { 0x00,0xFF }));
archive.Save("archive.bz2");
}
SetSource(FileInfo)
Définit le contenu à compresser dans l’archive.
public void SetSource(FileInfo fileInfo)
Paramètres
fileInfo
FileInfo
La référence à un fichier à compresser.
Exemples
using (Bzip2Archive archive = new Bzip2Archive())
{
archive.SetSource(new FileInfo("data.bin"));
archive.Save("archive.bz2");
}
SetSource(string)
Définit le contenu à compresser dans l’archive.
public void SetSource(string path)
Paramètres
path
string
Chemin vers le fichier à compresser.
Exemples
using (Bzip2Archive archive = new Bzip2Archive())
{
archive.SetSource("data.bin");
archive.Save("archive.bz2");
}
Exceptions
path
est nul.
L’appelant n’a pas la permission requise pour accéder.
Le path
est vide, ne contient que des espaces vides, 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 comporter moins de 248 caractères, et les noms de fichiers moins de 260 caractères.
Le fichier à path
contient un deux-points (:) au milieu de la chaîne.
SetSource(TarArchive, TarFormat)
Définit le contenu à compresser dans l’archive.
public void SetSource(TarArchive tarArchive, TarFormat format = TarFormat.UsTar)
Paramètres
tarArchive
TarArchive
Archive Tar à compresser.
format
TarFormat
Définit le format d’en-tête Tar.
Exemples
using (var tarArchive = new TarArchive())
{
tarArchive.CreateEntry("first.bin", "data1.bin");
tarArchive.CreateEntry("second.bin", "data2.bin");
using (var bzippedArchive = new Bzip2Archive())
{
bzippedArchive.SetSource(tarArchive);
bzippedArchive.Save("archive.tar.bz2");
}
}
Remarques
Utilisez cette méthode pour composer une archive tar.bz2 conjointe.
SetSource(CpioArchive, CpioFormat)
Définit le contenu à compresser dans l’archive.
public void SetSource(CpioArchive cpioArchive, CpioFormat format = CpioFormat.OldAscii)
Paramètres
cpioArchive
CpioArchive
Archive Cpio à compresser.
format
CpioFormat
Définit le format d’en-tête Cpio.
Exemples
using (var cpioArchive = new CpioArchive())
{
cpioArchive.CreateEntry("first.bin", "data1.bin");
cpioArchive.CreateEntry("second.bin", "data2.bin");
using (var bzippedArchive = new Bzip2Archive())
{
bzippedArchive.SetSource(cpioArchive);
bzippedArchive.Save("archive.cpio.bz2");
}
}
Remarques
Utilisez cette méthode pour composer une archive cpio.bz2 conjointe.