Archiwa GZip (.gz) są używane do kompresji jednego lub więcej plików przy użyciu algorytmu kompresji zip GNU. Jest powszechnie używany do kompresji plików w systemach operacyjnych UNIX. W tym artykule dowiesz się, jak programowo kompresować pliki przy użyciu GZip (.gz) w C#. Ponadto w artykule omówiono również sposób dekompresji archiwów GZip w języku C#.
- C# GZip API do kompresji i dekompresji plików
- Kompresuj pliki za pomocą GZip w C#
- Dekompresuj archiwum GZip w C#
- Wyodrębnij archiwum GZip do strumienia w C#
Interfejs API kompresji i dekompresji C# GZip — bezpłatne pobieranie
Aby skompresować i rozpakować pliki za pomocą GZip, użyjemy Aspose.ZIP for .NET. Jest to potężny interfejs API, który umożliwia pracę z popularnymi formatami archiwów, w tym ZIP, 7z, GZip itp. Możesz pobrać interfejs API lub zainstalować go za pomocą NuGet.
PM> Install-Package Aspose.Zip
Kompresuj pliki za pomocą GZip w C#
Poniżej przedstawiono kroki kompresji plików przy użyciu narzędzia GZip w języku C#.
- Utwórz obiekt klasy GzipArchive.
- Użyj metody GzipArchive.SetSource(String), aby dodać plik do archiwum.
- Utwórz archiwum GZip przy użyciu metody GzipArchive.Save(String).
Poniższy przykładowy kod pokazuje, jak kompresować pliki do GZip w języku C#.
using (GzipArchive archive = new GzipArchive())
{
// ustaw źródło
archive.SetSource("data.bin");
// utwórz archiwum
archive.Save("archive.gz");
}
Dekompresuj archiwum GZip w C#
Poniżej przedstawiono kroki dekompresji archiwum GZip w języku C# przy użyciu Aspose.ZIP dla platformy .NET.
- Utwórz obiekt klasy GzipArchive i zainicjuj go ścieżką archiwum GZip.
- Utwórz plik dla wyodrębnionej zawartości za pomocą metody File.Create(String).
- Otwórz GZip do rozpakowania przy użyciu metody GZipArchive.Open().
- Przeczytaj wyodrębnioną zawartość i zapisz ją w pliku.
Poniższy przykładowy kod pokazuje, jak zdekompresować archiwum GZip przy użyciu języka C#.
// załaduj archiwum GZip
using (var archive = new GzipArchive("archive.gz"))
{
// utwórz plik
using (var extracted = File.Create("data.bin"))
{
// Otwórz archiwum
var unpacked = archive.Open();
byte[] b = new byte[8192];
int bytesRead;
// napisz do pliku
while (0 < (bytesRead = unpacked.Read(b, 0, b.Length)))
extracted.Write(b, 0, bytesRead);
}
}
C# Wyodrębnij GZip do strumienia
Możesz także wyodrębnić archiwum GZip do obiektu strumienia pamięci. Poniżej przedstawiono kroki, aby wykonać tę operację.
- Utwórz nowy obiekt MemoryStream.
- Utwórz obiekt klasy GzipArchive i zainicjuj go ścieżką archiwum GZip.
- Wyodrębnij GZip i skopiuj do strumienia pamięci przy użyciu metody GZipArchive.Open().CopyTo(MemoryStream).
Poniższy przykład kodu pokazuje, jak wyodrębnić archiwum GZip do strumienia pamięci przy użyciu języka C#.
// utworzyć strumień pamięci
var ms = new MemoryStream();
// załaduj archiwum GZip
using (GzipArchive archive = new GzipArchive(File.OpenRead("sample.gz")))
{
// wyodrębnij i skopiuj do strumienia pamięci
archive.Open().CopyTo(ms);
Console.WriteLine(archive.Name);
}
Interfejs API kompresji i dekompresji GZip w języku C# — uzyskaj bezpłatną licencję
Możesz uzyskać bezpłatną tymczasową licencję, aby korzystać z API bez ograniczeń ewaluacyjnych.
Wniosek
W tym artykule nauczyłeś się kompresować lub dekompresować pliki przy użyciu GZip w języku C#. Ponadto widziałeś, jak wyodrębnić GZip, aby programowo przesyłać strumieniowo przy użyciu C# .NET. Możesz dowiedzieć się więcej o Aspose.ZIP for .NET, korzystając z dokumentacji. Ponadto możesz skontaktować się z nami, aby podzielić się swoimi pytaniami za pośrednictwem naszego forum.