.NET API с открытым исходным кодом для форматов файлов сжатия
Библиотека .NET с открытым исходным кодом для работы с популярными форматами файлов сжатия.
Что такое SharpCompress?
SharpCompress — это чистая библиотека .NET с открытым исходным кодом, которая позволяет разработчикам программного обеспечения работать с популярными форматами файлов сжатия, такими как RAR, 7ZAP, ZIP, TAR, GZIP, BZIP2 и другими. Он предоставляет возможность распаковки 7ZIP, ZIP/unzip, TAR/untar LZIP/unlzip, BZIP2/unbzip2 и GZIP/ungzip с API прямого чтения и произвольного доступа к файлам. Он также реализовал поддержку записи для форматов файлов ZIP, TAR, BZIP2 и GZIP.
SharpCompress Несколько важных функций, таких как создание zip-архива из всех файлов в каталоге в файл, извлечение всех файлов из файла RAR в каталог, использование ReaderFactory для автоматического определения типа архива и открытие потока ввода, использование ReaderFactory для автоматического определения типа архива и Откройте входной поток и многое другое
Начало работы с SharpCompress
Чтобы установить SharpCompress, вам потребуется .NET Framework 3.5 или выше. Вы можете вручную загрузить репозиторий с GitHub. Или вы можете использовать NuGet.
Вот команда
Install-Package sharpcompress -Version number
Библиотека .NET для сжатия и извлечения файлов из ZIP-файла
SharpCompress позволяет разработчикам .NET создавать ZIP-файл, сжимая содержимое папки в новый файл ZIP. Формат файла ZIP является одним из наиболее широко используемых форматов файлов для сжатия и архивирования. Это помогает уменьшить размер одного или нескольких файлов, а также вы можете архивировать несколько файлов и папок в один файл. API также позволяет разработчикам извлекать файлы из ZIP-файла. Вам просто нужно указать, какой файл вы хотите извлечь, и он будет циклически просматривать каждый файл в архиве, чтобы сохранить его в каталоге.
Извлечь все файлы из RAR — C#
// Read RAR file
RarArchive rarArchive = RarArchive.Open("fileformat.rar");
// Extract all data
foreach (var entry in rarArchive.Entries.Where(entry => !entry.IsDirectory))
{
entry.WriteToDirectory("\\filformat", new ExtractionOptions()
{
ExtractFullPath = true,
Overwrite = true
});
}
Добавить файл в существующий ZIP-файл с помощью .NET
Библиотека SharpCompress предоставляет пользователям возможность добавлять файлы в существующий ZIP-файл. Во-первых, вам нужно выбрать файл, который вы хотите добавить к существующему ZIP-файлу. SharpCompress сначала сохранит его во временный файл, и как только вы это сделаете, вы сможете переместить временный файл в постоянное место. Таким образом, новый файл сжимается, когда вы добавляете его в существующий ZIP-архив. Вы можете добавить существующий файл в zip-архив, выполнив три простых шага.
Добавить файл в существующий ZIP-файл
- Откройте существующий ZIP-файл с помощью метода ZipArchive.Open() и передайте имя файла в качестве параметра.
- Добавьте файлы в ZIP с помощью метода AddAllFromDirectory() и передайте путь к каталогу в виде вложений.
- Сохраните файл с помощью метода SaveTo() и передайте выходной путь в качестве первого аргумента и CompressionType в качестве второго аргумента.
Добавить файлы в существующий ZIP-архив — C#
// open existing ZIP file
ZipArchive archive = ZipArchive.Open("test.zip");
// add samples files in it
archive.AddAllFromDirectory("\\sample");
// save file
archive.SaveTo("sample.zip", CompressionType.Deflate);