"},Format 7z,Compression LZMA,SDK 7-Zip,IronZIP,Algorithmes de Compression,Formats d'Archives,Chiffrement AES-256,Outils en Ligne de Commande,SevenZipExtractor,SevenZipCompressor,IronArchive,.NET SDK,Ratio de Compression Élevé,Gestion de Fichiers,Logiciel Open-Source,7z.dll,7z.exe,Compression de Fichiers,Programmation C#,Développement .NET,Développement logiciel"> Passer au contenu du pied de page
.NET AIDE

SevenZip C# (Comment ça fonctionne pour les développeurs)

Dans le domaine des utilitaires de compression et d'archivage de fichiers, 7-Zip se distingue comme une solution polyvalente et open-source. Réputé pour ses taux de compression élevés et sa prise en charge de divers formats d'archives, 7-Zip est devenu un choix populaire pour les utilisateurs à la recherche d'une gestion efficace des fichiers. Dans cet article, nous allons explorer ce qu'est 7-Zip, comment il fonctionne, ses principales caractéristiques, le format 7z unique, les taux de compression et son SDK .NET pour C# qui aide à créer des archives 7z. De plus, nous présenterons IronZIP comme une solution alternative dans l'écosystème .NET.

Qu'est-ce que 7-Zip ?

7-Zip est un utilitaire d'archivage de fichiers gratuit et open-source qui permet aux utilisateurs de compresser et décompresser des fichiers. Développé par Igor Pavlov, 7-Zip prend en charge une large gamme de formats de compression, ce qui en fait un outil polyvalent pour gérer et organiser les données.

Sevenzip C# (Comment cela fonctionne pour les développeurs) Figure 1 - 7-Zip

Principales caractéristiques

  • Taux de compression élevé : L'une des principales caractéristiques de 7-Zip est sa capacité à atteindre des taux de compression élevés, souvent supérieurs à ceux d'autres outils d'archivage. Cela peut se traduire par des économies significatives en termes d'espace de stockage et des transferts de fichiers plus rapides vers un dossier.
  • Support de formats étendu : 7-Zip peut gérer une variété de formats d'archives, y compris 7z, ZIP, TAR, GZIP, et plus encore. Cette polyvalence assure une compatibilité avec différents systèmes d'exploitation et logiciels.
  • Chiffrement et sécurité : 7-Zip offre des capacités de chiffrement puissant, permettant aux utilisateurs de sécuriser leurs archives avec un chiffrement AES-256. Cela garantit que les données sensibles restent protégées.
  • Support en ligne de commande : En plus de son interface graphique conviviale, 7-Zip offre une version en ligne de commande pour les utilisateurs qui préfèrent l'automatisation et le scripting dans leurs tâches de gestion de fichiers.

Comment ça marche

7-Zip utilise des algorithmes de compression avancés pour réduire la taille des fichiers et des dossiers. Il utilise l'algorithme de compression LZMA (Lempel-Ziv-Markov chain-Algorithm) pour son format 7z natif, ce qui contribue à ses taux de compression impressionnants. L'utilitaire prend également en charge d'autres formats courants tels que ZIP, TAR et GZIP.

Format 7z

Le format 7z est le format propriétaire utilisé par 7-Zip pour ses archives. Il utilise l'algorithme de compression LZMA, connu pour ses excellents taux de compression. Le format 7z prend en charge des fonctionnalités telles que la compression solide, la division de fichiers et les archives auto-extractibles.

Taux de compression

7-Zip est réputé pour ses taux de compression exceptionnels, notamment lorsqu'on utilise le format 7z avec l'algorithme LZMA. Cette efficacité se traduit par des tailles d'archives plus petites sans compromettre l'intégrité des fichiers compressés. Les fichiers créés par 7-Zip sont compressés 30 à 70 % mieux que le format ZIP normal.

SDK LZMA 7-Zip pour C#

Pour les développeurs travaillant en C#, 7-Zip propose un SDK .NET qui permet l'intégration transparente des fonctionnalités de 7-Zip dans des applications personnalisées. Le SDK permet aux développeurs d'effectuer des opérations de compression et de décompression par programme, offrant une flexibilité dans la gestion des fichiers archivés au sein des projets C#.

Si vous souhaitez utiliser 7-Zip dans une application C#, vous pouvez utiliser le SDK 7-Zip ou utiliser l'exécutable en ligne de commande dans votre code C#. Voici un bref aperçu des deux approches.

1. SDK 7-Zip (7z.dll)

Le SDK 7-Zip inclut la bibliothèque 7z.dll que vous pouvez utiliser dans votre projet C#. Cette approche vous permet d'effectuer des opérations de compression et de décompression par programme.

Voici un exemple de code source utilisant le SDK 7-Zip :

using SevenZip;

class Program
{
    static void Main()
    {
        // Specify the path to the 7z.dll library
        SevenZipBase.SetLibraryPath("path_to_7z.dll");

        // Example: Extract files from an archive
        using (var extractor = new SevenZipExtractor("archive.7z"))
        {
            extractor.ExtractArchive("output_directory");
        }

        // Example: Compress files into an archive
        using (var compressor = new SevenZipCompressor())
        {
            // Add files to the archive
            compressor.CompressFiles("archive.7z", "file1.txt", "file2.txt");
        }
    }
}
using SevenZip;

class Program
{
    static void Main()
    {
        // Specify the path to the 7z.dll library
        SevenZipBase.SetLibraryPath("path_to_7z.dll");

        // Example: Extract files from an archive
        using (var extractor = new SevenZipExtractor("archive.7z"))
        {
            extractor.ExtractArchive("output_directory");
        }

        // Example: Compress files into an archive
        using (var compressor = new SevenZipCompressor())
        {
            // Add files to the archive
            compressor.CompressFiles("archive.7z", "file1.txt", "file2.txt");
        }
    }
}
Imports SevenZip

Friend Class Program
	Shared Sub Main()
		' Specify the path to the 7z.dll library
		SevenZipBase.SetLibraryPath("path_to_7z.dll")

		' Example: Extract files from an archive
		Using extractor = New SevenZipExtractor("archive.7z")
			extractor.ExtractArchive("output_directory")
		End Using

		' Example: Compress files into an archive
		Using compressor = New SevenZipCompressor()
			' Add files to the archive
			compressor.CompressFiles("archive.7z", "file1.txt", "file2.txt")
		End Using
	End Sub
End Class
$vbLabelText   $csharpLabel

Assurez-vous de remplacer "path_to_7z.dll" par le chemin réel vers la bibliothèque 7z.dll. Vous pouvez trouver le fichier 7z.dll dans le répertoire d'installation de 7-Zip.

2. Exécutable en ligne de commande

Alternativement, vous pouvez utiliser l'exécutable en ligne de commande 7-Zip (7z.exe) dans votre code source C# en l'invoquant via la classe System.Diagnostics.Process.

using System.Diagnostics;

class Program
{
    static void Main()
    {
        // Example: Extract files from an archive using the command-line executable
        string archivePath = "archive.7z";
        string outputPath = "output_directory";
        ProcessStartInfo processStartInfo = new ProcessStartInfo
        {
            FileName = "7z.exe",
            Arguments = $"x \"{archivePath}\" -o\"{outputPath}\"",
            RedirectStandardOutput = true,
            UseShellExecute = false,
            CreateNoWindow = true
        };
        using (Process process = new Process { StartInfo = processStartInfo })
        {
            process.Start();
            process.WaitForExit();
        }
    }
}
using System.Diagnostics;

class Program
{
    static void Main()
    {
        // Example: Extract files from an archive using the command-line executable
        string archivePath = "archive.7z";
        string outputPath = "output_directory";
        ProcessStartInfo processStartInfo = new ProcessStartInfo
        {
            FileName = "7z.exe",
            Arguments = $"x \"{archivePath}\" -o\"{outputPath}\"",
            RedirectStandardOutput = true,
            UseShellExecute = false,
            CreateNoWindow = true
        };
        using (Process process = new Process { StartInfo = processStartInfo })
        {
            process.Start();
            process.WaitForExit();
        }
    }
}
Imports System.Diagnostics

Friend Class Program
	Shared Sub Main()
		' Example: Extract files from an archive using the command-line executable
		Dim archivePath As String = "archive.7z"
		Dim outputPath As String = "output_directory"
		Dim processStartInfo As New ProcessStartInfo With {
			.FileName = "7z.exe",
			.Arguments = $"x ""{archivePath}"" -o""{outputPath}""",
			.RedirectStandardOutput = True,
			.UseShellExecute = False,
			.CreateNoWindow = True
		}
		Using process As New Process With {.StartInfo = processStartInfo}
			process.Start()
			process.WaitForExit()
		End Using
	End Sub
End Class
$vbLabelText   $csharpLabel

Assurez-vous que "7z.exe" est dans le PATH de votre système ou fournissez le chemin complet vers l'exécutable dans la propriété FileName.

Présentation de IronZIP

Bien que 7-Zip soit une solution robuste, les développeurs explorant des alternatives au sein de l'écosystème .NET peuvent trouver IronZIP comme un choix convaincant. IronZIP est une bibliothèque de compression .NET qui offre des fonctionnalités similaires à 7-Zip, fournissant aux développeurs les outils nécessaires pour compresser, décompresser et manipuler des archives au sein de leurs applications C#.

Sevenzip C# (Comment cela fonctionne pour les développeurs) Figure 2 - IronZIP

IronZIP est une puissante bibliothèque d'archivage ZIP C# qui simplifie le travail avec les fichiers ZIP dans les applications .NET. Avec son API conviviale, les développeurs peuvent créer, lire et extraire efficacement des archives ZIP avec IronZIP. Voici un simple extrait de code présentant la facilité de création d'une archive ZIP avec IronZIP :

using IronZip;

class Program
{
    static void Main()
    {
        // Specify the path for the new ZIP archive
        string zipFilePath = "output.zip";

        // Create an empty ZIP archive
        using (var archive = new IronArchive(zipFilePath))
        {
            // Add files to the ZIP
            archive.AddArchiveEntry("./assets/file1.txt");
            archive.AddArchiveEntry("./assets/file2.jpg");
            archive.AddArchiveEntry("./assets/file3.pdf");
        }

        Console.WriteLine("ZIP archive created successfully!");
    }
}
using IronZip;

class Program
{
    static void Main()
    {
        // Specify the path for the new ZIP archive
        string zipFilePath = "output.zip";

        // Create an empty ZIP archive
        using (var archive = new IronArchive(zipFilePath))
        {
            // Add files to the ZIP
            archive.AddArchiveEntry("./assets/file1.txt");
            archive.AddArchiveEntry("./assets/file2.jpg");
            archive.AddArchiveEntry("./assets/file3.pdf");
        }

        Console.WriteLine("ZIP archive created successfully!");
    }
}
Imports IronZip

Friend Class Program
	Shared Sub Main()
		' Specify the path for the new ZIP archive
		Dim zipFilePath As String = "output.zip"

		' Create an empty ZIP archive
		Using archive = New IronArchive(zipFilePath)
			' Add files to the ZIP
			archive.AddArchiveEntry("./assets/file1.txt")
			archive.AddArchiveEntry("./assets/file2.jpg")
			archive.AddArchiveEntry("./assets/file3.pdf")
		End Using

		Console.WriteLine("ZIP archive created successfully!")
	End Sub
End Class
$vbLabelText   $csharpLabel

Pour plus d'informations sur IronZIP et ses capacités ou des exemples de code, veuillez visiter la page de documentation d'IronZIP.

Conclusion

7-Zip continue d'être une force dominante dans le monde de la compression de fichiers, offrant aux utilisateurs une solution open-source riche en fonctionnalités avec des taux de compression exceptionnels. Son soutien pour divers formats d'archives et ses capacités de chiffrement puissantes en font un choix polyvalent pour les utilisateurs occasionnels et les développeurs. Le SDK .NET étend encore son utilité aux développeurs C#, facilitant l'intégration transparente dans des applications personnalisées. Pour ceux qui recherchent une alternative dans l'espace .NET, IronZIP se distingue comme un prétendant digne d'intérêt, offrant des fonctionnalités similaires adaptées aux besoins spécifiques des développeurs C#.

IronZIP offre un essai gratuit pour IronZIP. Téléchargez et essayez la bibliothèque IronZIP .NET Core et Framework depuis la page de téléchargement d'IronZIP.

Questions Fréquemment Posées

Qu'est-ce que 7-Zip et pourquoi est-il populaire ?

7-Zip est une utilité d'archivage de fichiers open-source connue pour ses taux de compression élevés et son support pour plusieurs formats d'archives comme 7z, ZIP, TAR, et GZIP. Il est populaire en raison de son efficacité dans la gestion des données et son fort chiffrement AES-256 pour la sécurité.

Comment le format 7z diffère-t-il des autres formats ?

Le format 7z utilise l'algorithme de compression LZMA, qui offre une efficacité de compression supérieure, atteignant généralement 30 à 70 % de meilleure compression que les formats ZIP standards. Cela le rend idéal pour les utilisateurs prioritaires à la réduction de taille de fichiers.

Comment les développeurs peuvent-ils utiliser 7-Zip dans les projets C# ?

Les développeurs peuvent tirer parti du SDK .NET 7-Zip, qui inclut la bibliothèque 7z.dll, pour intégrer programmatiquement la fonctionnalité de compression et décompression dans les applications C#. Alternativement, l'outil en ligne de commande 7z.exe peut être utilisé pour gérer des archives.

Quels avantages IronZIP offre-t-il pour les applications .NET ?

IronZIP offre une API conviviale pour les applications .NET, simplifiant la création, la lecture et l'extraction des fichiers ZIP. C'est une alternative viable pour les développeurs recherchant la facilité d'utilisation et des capacités de gestion de fichiers ZIP robustes dans les projets C#.

Puis-je utiliser 7-Zip pour chiffrer des fichiers ?

Oui, 7-Zip fournit des capacités de chiffrement fortes utilisant AES-256, permettant aux utilisateurs de chiffrer les fichiers de manière sécurisée et de protéger des données sensibles pendant la compression.

Existe-t-il une version d'essai de IronZIP ?

Oui, IronZIP offre un essai gratuit qui peut être téléchargé depuis leur site web. Cet essai permet aux développeurs d'explorer ses fonctionnalités et d'intégrer la gestion des fichiers ZIP dans les applications .NET.

Quelles sont les principales fonctionnalités de 7-Zip ?

Les fonctionnalités de 7-Zip incluent des taux de compression élevés, le support pour une large gamme de formats, un fort chiffrement AES-256, et une interface conviviale ainsi que le support en ligne de commande pour répondre aux besoins divers des utilisateurs.

Comment puis-je utiliser l'archivage de fichiers dans une application C# ?

Vous pouvez utiliser l'archivage de fichiers dans les applications C# en utilisant des bibliothèques comme le SDK 7-Zip avec 7z.dll ou IronZIP, offrant tous deux des outils complets pour la gestion de compression et extraction de fichiers.

Curtis Chau
Rédacteur technique

Curtis Chau détient un baccalauréat en informatique (Université de Carleton) et se spécialise dans le développement front-end avec expertise en Node.js, TypeScript, JavaScript et React. Passionné par la création d'interfaces utilisateur intuitives et esthétiquement plaisantes, Curtis aime travailler avec des frameworks modernes ...

Lire la suite