Test in einer Live-Umgebung
Test in der Produktion ohne Wasserzeichen.
Funktioniert überall, wo Sie es brauchen.
Im Bereich der Komprimierungs- und Archivierungsprogramme für Dateieinträge sticht 7-Zip als vielseitige Open-Source-Lösung hervor. SevenZip ist bekannt für seine hohen Komprimierungsraten und die Unterstützung verschiedener Archivformate und hat sich zu einer beliebten Wahl für Anwender entwickelt, die eine effiziente Dateiverwaltung suchen. In diesem Artikel erfahren Sie, was 7-Zip ist, wie es funktioniert, seine Hauptmerkmale, das einzigartige 7z-Format, Kompressionsraten und sein .NET SDK für C#, das bei der Erstellung von 7z-Archiven hilft. Außerdem werden wir IronZIP als alternative Lösung im .NET-Ökosystem vorstellen.
SevenZip oder 7-Zip ist ein kostenloses und quelloffenes Dateiarchivierungsprogramm, mit dem Dateien komprimiert und dekomprimiert werden können. Das von Igor Pavlov entwickelte 7-Zip unterstützt eine breite Palette von Komprimierungsformaten und ist damit ein vielseitiges Werkzeug für die Verwaltung und Organisation von Daten.
7-Zip verwendet fortschrittliche Komprimierungsalgorithmen, um die Größe von Dateien und Ordnern zu reduzieren. Es verwendet das LZMA (Lempel-Ziv-Markov-Ketten-Algorithmus) kompressionsalgorithmus für sein natives 7z-Format, was zu seinen beeindruckenden Kompressionsraten beiträgt. Das Dienstprogramm unterstützt auch andere gängige Formate wie ZIP, TAR und GZIP.
Das 7z-Format ist das proprietäre Format, das von 7-Zip für seine Archive verwendet wird. Es verwendet den LZMA-Kompressionsalgorithmus, der für seine hervorragenden Kompressionsraten bekannt ist. Das 7z-Format unterstützt Funktionen wie solide Komprimierung, Dateisplitting und selbstextrahierende Archive.
7-Zip ist bekannt für seine hervorragenden Kompressionsraten, insbesondere bei Verwendung des 7z-Formats mit dem LZMA-Algorithmus. Diese Effizienz führt zu kleineren Archivgrößen, ohne die Integrität der komprimierten Dateien zu beeinträchtigen. Mit 7-Zip erstellte Dateien sind 30-70 % besser komprimiert als das normale ZIP-Format.
Für Entwickler, die in C# arbeiten, stellt 7-Zip ein .NET SDK zur Verfügung, das die nahtlose Integration von 7-Zip-Funktionen in eigene Anwendungen ermöglicht. Das SDK ermöglicht es Entwicklern, Komprimierungs- und Dekomprimierungsvorgänge programmatisch auszuführen und bietet so Flexibilität bei der Verwaltung archivierter Dateien in C#-Projekten.
Wenn Sie 7-Zip in einer C#-Anwendung verwenden möchten, können Sie das 7-Zip SDK nutzen oder die Befehlszeilenanwendung in Ihrem C#-Code verwenden. Hier ist ein kurzer Überblick über beide Ansätze
Das 7-Zip SDK enthält die Bibliothek 7z.dll, die Sie in Ihrem C#-Projekt verwenden können. Mit diesem Ansatz können Sie Komprimierungs- und Dekomprimierungsvorgänge programmatisch durchführen.
Hier ist das Quellcode-Beispiel, das das 7-Zip SDK verwendet:
using SevenZip;
class Program
{
static void Main()
{
// Specify the path to the 7z.dll library
SevenZipBase.SetLibraryPath("path_to_7z.dll");
// Create a SevenZipExtractor or SevenZipCompressor instance
// Perform compression or decompression operations as needed
// 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 File entry in 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");
// Create a SevenZipExtractor or SevenZipCompressor instance
// Perform compression or decompression operations as needed
// 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 File entry in 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")
' Create a SevenZipExtractor or SevenZipCompressor instance
' Perform compression or decompression operations as needed
' 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 File entry in archive
compressor.CompressFiles("archive.7z", "file1.txt", "file2.txt")
End Using
End Sub
End Class
Stellen Sie sicher, dass Sie "path_to_7z.dll" durch den tatsächlichen Pfad zur 7z.dll-Bibliothek ersetzen. Sie finden die Datei 7z.dll im Installationsverzeichnis von 7-Zip.
Alternativ können Sie die 7-Zip Befehlszeilenanwendung verwenden (7z.exe) in Ihrem C#-Quellcode, indem Sie es über die Klasse System.Diagnostics.Process
aufrufen.
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
Stellen Sie sicher, dass sich "7z.exe" im PATH Ihres Systems befindet, oder geben Sie den vollständigen Pfad zur ausführbaren Datei in der Eigenschaft "Dateiname" an.
7-Zip ist zwar eine robuste Lösung, aber für Entwickler, die nach Alternativen innerhalb des .NET-Ökosystems suchen, ist IronZIP vielleicht eine überzeugende Wahl. IronZIP ist eine .NET-Komprimierungsbibliothek, die ähnliche Funktionen wie 7-Zip bietet und Entwicklern die Werkzeuge zum Komprimieren, Dekomprimieren und Manipulieren von Archiven in ihren C#-Anwendungen zur Verfügung stellt.
IronZIP ist eine leistungsstarke C#-ZIP-Archivbibliothek, die die Arbeit mit ZIP-Dateien in .NET-Anwendungen vereinfacht. Mit seiner benutzerfreundlichen API können Entwickler effizient erstellen, lesen und extrahieren ZIP-Archive. Hier ist ein einfacher Codeschnipsel, der zeigt, wie einfach die Erstellung eines ZIP-Archivs ironZIP verwenden:
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
Weitere Informationen zu IronZIP und seinen Funktionen sowie Codebeispiele finden Sie auf der Website dokumentation seite.
7-Zip ist nach wie vor eine dominierende Kraft in der Welt der Dateikomprimierung und bietet Anwendern eine Open-Source-Lösung mit vielen Funktionen und außergewöhnlichen Komprimierungsraten. Die Unterstützung verschiedener Archivformate und die starken Verschlüsselungsfunktionen machen es zu einer vielseitigen Wahl für Gelegenheitsnutzer und Entwickler gleichermaßen. Das .NET SDK erweitert den Nutzen für C#-Entwickler und erleichtert die nahtlose Integration in eigene Anwendungen. Für diejenigen, die eine Alternative im .NET-Bereich suchen, ist IronZIP ein bemerkenswerter Konkurrent, der ähnliche Funktionen bietet, die auf die speziellen Bedürfnisse von C#-Entwicklern zugeschnitten sind.
IronZIP bietet eine kostenlose Testversion seite. IronZIP for .NET Core und .NET-Framework Bibliothek herunterladen und ausprobieren hier.
9 .NET API-Produkte für Ihre Bürodokumente