Test dans un environnement réel
Test en production sans filigrane.
Fonctionne partout où vous en avez besoin.
ZIP est un format de système de fichiers d'entrée d'archives qui prend en charge la compression des données sans perte. Un fichier ZIP peut contenir un ou plusieurs fichiers ou répertoires qui peuvent avoir été compressés. Le format de fichier ZIP permet plusieurs algorithmes de compression, mais DEFLATE est le plus courant. Le format ZIP a ensuite été rapidement pris en charge par de nombreux logiciels. Les principaux fournisseurs de systèmes d'exploitation prennent en charge les archives ZIP depuis longtemps. Microsoft a intégré la prise en charge des fichiers ZIP dès Windows 98 et les autres ont suivi.
Dans ce blog, nous allons explorer un moyen moderne, facile et efficace d'ouvrir des fichiers d'archives ZIP ou des fichiers extraits à l'aide de IronZIP. Nous allons découvrir les fichiers ZIP en général et leurs avantages. Nous verrons ensuite les options disponibles dans l'espace de noms du système pour travailler avec le format de fichier ZIP. Nous étudierons ensuite les instructions étape par étape pour ouvrir le fichier ZIP, extraire le fichier ZIP dans un dossier temporaire, créer un nouveau fichier ZIP et ajouter des fichiers à des fichiers ZIP existants.
Introduction à la bibliothèque IronZIP et à sa documentation ici. Dans les applications C#, les fichiers ZIP peuvent être créés et extraits de différentes manières. Le paquet NuGet IronZIP possède toutes les fonctionnalités pour archiver des fichiers dans différents formats ZIP, TAR, GZIP, et BZIP2. Vous trouverez ci-dessous des exemples d'étapes sur l'utilisation d'IronZIP dans la programmation d'applications modernes pour créer des applications de nouvelle génération permettant d'ouvrir des fichiers ZIP, d'extraire des fichiers ZIP, de créer de nouveaux fichiers ZIP, etc.
l'application console .NET peut être créée à l'aide de Visual Studio. Ouvrez Visual Studio et sélectionnez Créer un projet. Vous trouverez ici différents modèles pour créer un projet. La manière la plus simple de démontrer ou de tester le code est de créer une application console. Nous allons sélectionner le modèle de projet Console App.
Dans la fenêtre ci-dessous, vous pouvez saisir le nom du projet, l'emplacement du projet à stocker dans le système de fichiers et le dernier chemin d'accès au dossier de la solution. Vous pouvez conserver les dossiers de la solution et du projet à l'identique ou les placer dans des dossiers différents.
L'étape suivante consiste à sélectionner la version du Framework .NET pour le projet. Si vous souhaitez développer dans une version spécifique, indiquez la version qui vous convient, sinon sélectionnez toujours la dernière version stable pour créer un projet. La dernière version peut être téléchargée à partir du site web de Microsoft. Cliquez ensuite sur Créer pour générer l'application console.
Cette opération crée le projet par défaut à partir du modèle et stocke les fichiers du projet et de la solution dans les répertoires spécifiés. Une fois le projet créé, il ressemblera à ce qui suit. Parfois, la classe n'est pas utilisée dans le programme.cs dans les dernières versions.
using System;
// See https://aka.ms/new-console-template for more information
Console.WriteLine("Hello, World!");
namespace MyApp // Note: actual namespace depends on the project name.
{
internal class Program
{
static void Main(string [] args)
{
Console.WriteLine("Hello World!");
}
}
}
using System;
// See https://aka.ms/new-console-template for more information
Console.WriteLine("Hello, World!");
namespace MyApp // Note: actual namespace depends on the project name.
{
internal class Program
{
static void Main(string [] args)
{
Console.WriteLine("Hello World!");
}
}
}
Imports System
' See https://aka.ms/new-console-template for more information
Console.WriteLine("Hello, World!")
Dim MyApp As namespace ' Note: actual namespace depends on the project name.
If True Then
'INSTANT VB TODO TASK: Local functions are not converted by Instant VB:
' internal class Program
' {
' static void Main(string [] args)
' {
' Console.WriteLine("Hello World!");
' }
' }
End If
Pour créer un nouveau fichier ZIP et extraire tous les fichiers d'archive ZIP, nous pouvons utiliser System.IO.Compression à partir des bibliothèques par défaut. Dans le code ci-dessus ZipFile.OpenRead
(Fichier ZIP) et ZipFile.Open
les méthodes statiques peuvent être utilisées pour ouvrir des fichiers ZIP ou extraire des fichiers ZIP.
using System.IO.Compression;
Console.WriteLine("-----------Zip - Unzip-----------");
static void AddEntry(string filePath,
System.IO.Compression.ZipArchive zipArchive)
{
var file = Path.GetFileName(filePath); // get file name in var file
zipArchive.CreateEntryFromFile(filePath, file);
}
var zip = "myFile.zip";
using (System.IO.Compression.ZipArchive archive = ZipFile.OpenRead(zip, ZipArchiveMode.Create))
{
AddEntry(file1, archive);
AddEntry(file2, archive);
}
var dirToExtract = "extract";
if (Directory.Exists(dirToExtract) == false)
{
Directory.CreateDirectory(dirToExtract);
}
ZipFile.ExtractToDirectory(zip, dirToExtract); //extracted file
using System.IO.Compression;
Console.WriteLine("-----------Zip - Unzip-----------");
static void AddEntry(string filePath,
System.IO.Compression.ZipArchive zipArchive)
{
var file = Path.GetFileName(filePath); // get file name in var file
zipArchive.CreateEntryFromFile(filePath, file);
}
var zip = "myFile.zip";
using (System.IO.Compression.ZipArchive archive = ZipFile.OpenRead(zip, ZipArchiveMode.Create))
{
AddEntry(file1, archive);
AddEntry(file2, archive);
}
var dirToExtract = "extract";
if (Directory.Exists(dirToExtract) == false)
{
Directory.CreateDirectory(dirToExtract);
}
ZipFile.ExtractToDirectory(zip, dirToExtract); //extracted file
Imports System.IO.Compression
Console.WriteLine("-----------Zip - Unzip-----------")
'INSTANT VB TODO TASK: Local functions are not converted by Instant VB:
'static void AddEntry(string filePath, System.IO.Compression.ZipArchive zipArchive)
'{
' var file = Path.GetFileName(filePath); ' get file name in var file
' zipArchive.CreateEntryFromFile(filePath, file);
'}
Dim zip = "myFile.zip"
Using archive As System.IO.Compression.ZipArchive = ZipFile.OpenRead(zip, ZipArchiveMode.Create)
AddEntry(file1, archive)
AddEntry(file2, archive)
End Using
Dim dirToExtract = "extract"
If Directory.Exists(dirToExtract) = False Then
Directory.CreateDirectory(dirToExtract)
End If
ZipFile.ExtractToDirectory(zip, dirToExtract) 'extracted file
Dans le code ci-dessus, nous avons un fichier ZIP nommé monFichier.zip, et nous utilisons l'espace de noms du système. la méthode OpenRead
est utilisée pour ouvrir le fichier ZIP dans le mode spécifié. Cette fonction peut également être utilisée pour créer de nouveaux fichiers d'archives ZIP. Une fois ouvert, nous pouvons ajouter une nouvelle entrée d'archive en utilisant la méthode AddEntry
et ensuite ExtractToDirectory
extrait les fichiers d'archive ZIP ou les fichiers sélectionnés dans le répertoire spécifié. Le répertoire est vérifié s'il existe. S'il n'existe pas, un répertoire est créé à l'aide de Directory.CreateDirectory
. dirToExtract
est le chemin d'accès au répertoire pour extraire les fichiers d'archives ZIP. La dernière ligne du code ZipFile.ExtractToDirectory(zip, dirToExtract)
extrait un fichier ZIP. Tous les fichiers sont enregistrés dans le chemin du répertoire.
Ouvrez le gestionnaire de projets à partir de Visual Studio et recherchez le paquetage IronZIP. Sélectionnez ensuite la dernière version et cliquez sur Installer. Vous pouvez modifier la version à installer à partir du menu déroulant. Cliquez ensuite sur Installer.
Créer un fichier d'archive ZIP et ajouter des fichiers à l'aide d'IronZIP
IronZIP est une bibliothèque de compression et de décompression d'archives développée par Iron Software. Outre le format ZIP, largement utilisé, il peut également gérer les formats TAR, GZIP et BZIP2.
IronZIP est une bibliothèque d'archives ZIP C# qui privilégie la précision, la facilité d'utilisation et la rapidité. L'API conviviale permet aux développeurs d'ajouter facilement des fonctionnalités d'archivage aux projets .NET modernes en quelques minutes.
IronZIP présente de nombreux avantages par rapport à la bibliothèque System.Io.Compression
. Vous pouvez spécifier le taux de compression que vous souhaitez lors de la compression et utiliser différents algorithmes de compression ZIP, TAR, GZIP, BZIP2. Il prend également en charge les plateformes mobiles, web et de bureau, ainsi que diverses versions .NET.
IronZIP possède la classe IronArchive
qui peut être utilisée pour créer des fichiers ZIP, et extraire des fichiers ZIP. Elle supporte également la création de fichiers d'archives TAR, GZIP, et BZIP2 en utilisant une seule bibliothèque. Voici le code pour créer un fichier ZIP. la classe IronArchive
crée/ouvre les fichiers ZIP et la méthode archive.Add
est utilisée pour ajouter des entrées de fichiers à l'archive comme ci-dessous.
// setup
var archivePath= "ironZip.zip";
if (File.Exists(archivePath))
{
File.Delete(archivePath);
}
// zip file
using (var archive = new IronZipArchive(9))
{
// Add files to the zip
archive.Add(file1);
archive.Add(file2);
archive.SaveAs(archivePath);
}
// setup
var archivePath= "ironZip.zip";
if (File.Exists(archivePath))
{
File.Delete(archivePath);
}
// zip file
using (var archive = new IronZipArchive(9))
{
// Add files to the zip
archive.Add(file1);
archive.Add(file2);
archive.SaveAs(archivePath);
}
IRON VB CONVERTER ERROR developers@ironsoftware.com
Le code source initial contient la configuration nécessaire pour spécifier le nom du fichier d'archive ZIP et vérifier si le répertoire spécifié existe. Ensuite, nous archivons les fichiers pour créer un fichier ZIP à l'aide de la méthode Add
. Le deuxième paramètre du paramètre de compression est 1 pour plus bas et 9 pour plus haut. les fichiers txt peuvent être compressés au maximum à l'aide de 9 sans perte et les fichiers image peuvent être compressés à un niveau inférieur pour éviter la perte de données.
la classe IronArchive
peut également être utilisée pour extraire les fichiers de l'archive ZIP. Tous les fichiers sont extraits à l'aide de la classe IronArchive.ExtractArchiveToDirectory
qui permet d'extraire tous les fichiers dans des répertoires spécifiques comme ci-dessous.
var extractionPath = "IronZipFiles";
// extract files from zip
if (Directory.Exists(extractionPath) == false)
{
Directory.CreateDirectory(extractionPath);
}
IronArchive.ExtractArchiveToDirectory(archivePath, extractionPath);
var extractionPath = "IronZipFiles";
// extract files from zip
if (Directory.Exists(extractionPath) == false)
{
Directory.CreateDirectory(extractionPath);
}
IronArchive.ExtractArchiveToDirectory(archivePath, extractionPath);
Dim extractionPath = "IronZipFiles"
' extract files from zip
If Directory.Exists(extractionPath) = False Then
Directory.CreateDirectory(extractionPath)
End If
IronArchive.ExtractArchiveToDirectory(archivePath, extractionPath)
Le code ci-dessus extrait les fichiers ZIP dans un répertoire. Le code vérifie si le répertoire existe, puis le fichier d'archive ZIP est extrait dans le répertoire spécifié.
Pour que le code ci-dessus fonctionne, une clé de licence est nécessaire. Cette clé doit être placée dans appsettings.json
"IronZip.LicenseKey": "your lincese key"
"IronZip.LicenseKey": "your lincese key"
'INSTANT VB TODO TASK: The following line uses invalid syntax:
'"IronZip.LicenseKey": "your lincese key"
Une licence d'essai est disponible pour les développeurs qui souhaitent s'enregistrer ici et oui, aucune carte de crédit n'est requise pour une licence d'essai. Il suffit de fournir l'adresse électronique et de s'inscrire pour un essai gratuit.
Utilisez la méthode statique FromFile
de IronZIP pour ouvrir une archive existante. Cette méthode nécessite également de spécifier le nom de fichier de la nouvelle archive qui sera créée en sortie.
//add to existing archive
const string file3 = ".\\image3.png";
var archivePlusPath = "ironZipPlus.zip";
using (var file = IronArchive.FromFile(archivePath, archivePlusPath))
{
// Add files
file.Add(file3);
}
//add to existing archive
const string file3 = ".\\image3.png";
var archivePlusPath = "ironZipPlus.zip";
using (var file = IronArchive.FromFile(archivePath, archivePlusPath))
{
// Add files
file.Add(file3);
}
'add to existing archive
Const file3 As String = ".\image3.png"
Dim archivePlusPath = "ironZipPlus.zip"
Using file = IronArchive.FromFile(archivePath, archivePlusPath)
' Add files
file.Add(file3)
End Using
Le code utilise la méthode statique IronArchive.FromFile
pour ouvrir le fichier ZIP existant et ajouter le nouveau fichier en tant qu'entrée d'archive. Une fois que le fichier est éliminé, il est sauvegardé avec succès.
La bibliothèque IronZIP est constamment mise à jour en fonction des commentaires des clients/utilisateurs et toutes les mises à jour peuvent être trouvées ici.
En conclusion, la programmation de fichiers ZIP est une compétence essentielle à acquérir dans le cadre du développement d'applications modernes où les coûts de stockage et de transfert de données sont facturés par les fournisseurs d'hébergement en nuage. La connaissance de cette compétence peut aider les programmeurs à réduire le coût de l'application et à en améliorer les performances.
En suivant les étapes d'installation et en explorant les exemples de code fournis, les développeurs peuvent rapidement tirer parti de la puissance de IronZIP pour créer de nouveaux fichiers et gérer les tâches de Zip/Unzip en toute simplicité. Alors que de plus en plus d'applications sont modernisées et déplacées vers l'informatique en nuage, le fait de disposer d'une bibliothèque ZIP fiable telle que IronZIP dote les développeurs C# des outils nécessaires pour répondre aux exigences du développement d'applications modernes. Alors, embrassez le pouvoir de la IronZIP et découvrez de nouvelles possibilités de travailler avec des fichiers ZIP dans vos applications C#.
IronZIP offre une assistance étendue à ses développeurs. Pour en savoir plus sur la façon dont IronZIP pour les travaux en C#, voir ici. IronZIP offre une licence d'essai gratuite qui est une excellente occasion de connaître IronZIP et ses caractéristiques.
Iron Software possède de nombreuses autres bibliothèques, explorez-les pour acquérir plus de connaissances et mettre à jour vos compétences pour programmer/développer des applications modernes.
9 produits de l'API .NET pour vos documents de bureau