Обзор
Архивы, состоящие из записей, имеют метод CreateEntries для сжатия всего каталога. Такие методы учитывают структуру каталогов и периодически компонуют все подпапки.Также вы можете добавить одну запись файла в произвольный подкаталог, где бы ни находился архив.
Как заархивировать папку
Если вы хотите сжать папку, сохранив ее структуру, рассмотрите возможность использования интуитивно понятных функций Aspose.ZIP. Используйте параметры сжатия экземпляра Archive, такие как свойство PreserveDirectoryRoot, во время инициализации, чтобы сохранить структуру папок. Благодаря этому параметру сжатый архив будет отражать исходную иерархию, обеспечивая организованное представление данных. Это особенно выгодно при работе с обширными структурами папок, поскольку упрощает навигацию и поиск определенных файлов без необходимости распаковки.
Aspose.ZIP .Net API
предоставляет простое решение для сжатия папок с соблюдением их внутренней структуры, повышая эффективность процессов хранения и извлечения данных.
Пример:
using (Archive archive = new Archive())
{
DirectoryInfo corpus = new DirectoryInfo(@"D:\Data");
archive.CreateEntries(corpus);
archive.Save("archive.zip");
}
Sample 2:
Compose hierarchical structure with CreateEntry method
using (Archive archive = new Archive())
{
FileInfo fi1 = new FileInfo("image.bmp");
FileInfo fi2 = new FileInfo("lyrics.txt");
archive.CreateEntry("data\\pictures\\photo.bmp", fi1);
archive.CreateEntry("data\\text\\song.txt", fi2);
archive.Save("archive.zip");
}
Как заархивировать папку с помощью .NET
Метод CreateEntries имеет необязательный второй параметр includeRootDirectory, который указывает, нужно ли включать корневой каталог в архив. По умолчанию установлено значение true, поэтому в приведенном выше примере все записи архива будут расположены внутри папки «Данные». Если вы хотите, чтобы добавлялось только содержимое каталога, передайте туда false. В полученном архиве внутри папки «данные» будут папки «картинки» и «текст».
Как сжать папку в 7-ZIP с соблюдением ее структуры
7Zip-метод сжатия, сохраняющий структуру папок при архивировании. Это позволит улучшить организацию и удобство работы с архивами.
CreateEntries
— аналог метода архивирования 7Z. Он также имеет параметр includeRootDirectory.
Чтобы использовать сжатие 7-Zip с методом, сохраняющим структуру папок во время архивирования, ниже приведен пример, демонстрирующий, как этого добиться.
Create archive from directory
using (SevenZipArchive archive = new SevenZipArchive())
{
DirectoryInfo corpus = new DirectoryInfo(@"D:\Data");
archive.CreateEntries(corpus);
archive.Save("archive.7z");
}
Обзор 7-ZIP-архива
7-Zip, универсальная утилита архивирования, отличается высокой степенью сжатия и поддержкой различных форматов. Примечательно, что 7-Zip предлагает удобный способ добавления файлов без применения сжатия. Пользователи могут легко интегрировать файлы в архивы 7-Zip , сохраняя при этом исходную структуру данных, обеспечивая целостность их содержание.
Как сжать папку в TAR, сохранив ее структуру
Сжатие папок в формате TAR — распространенная практика для эффективного хранения и передачи данных. Однако сохранение структуры папок во время сжатия имеет решающее значение для поддержания организации и доступности архивных файлов. Архивирование папок в формате TAR обеспечивает удобное решение этой проблемы. Несмотря на это, традиционные методы сжатия часто игнорируют исходную структуру папок, что затрудняет навигацию и поиск определенных файлов в архиве. По умолчанию сжатие TAR не сохраняет исходную структуру папок, что может быть неудобно для пользователей, которым необходим доступ к определенным файлам в архиве. Помимо сжатия, tar-архив имеет тот же метод для архивирования всего каталога.
Sample 1:
Create archive from directory
using (TarArchive archive = new TarArchive())
{
archive.CreateEntries(@"D:\Data");
archive.Save("archive.tar");
}
Sample 2:
Combine archiving directory and single file
using (Archive archive = new Archive())
{
FileInfo fi1 = new FileInfo("image.bmp");
FileInfo fi2 = new FileInfo("lyrics.txt");
archive.CreateEntry("data\\pictures\\photo.bmp", fi1);
archive.CreateEntry("data\\text\\song.txt", fi2);
archive.Save("archive.zip");
}
Обзор архива TAR
TAR (Tape ARchive) — популярный формат файлов для архивирования и сжатия отдельных файлов . Это формат без потерь, что означает, что при сжатии данные не теряются. Файлы TAR могут быть созданы в любой операционной системе и поддерживаются широким спектром программного обеспечения.
Расширенные методы сжатия в XAR с сохранением структуры папок
XAR, современный формат архивов, обеспечивает гибкость, позволяя пользователям создавать архивы, сохраняя при этом исходную структуру папок. Этот уникальный подход предназначен для пользователей, которым требуются передовые методы сжатия без ущерба для организации файлов. В архиве Xar использует
тот же подход
, что и во всех вышеупомянутых форматах.
Пример:
Create archive from directory
using (FileStream xarFile = File.Open("archive.xar", FileMode.Create))
{
using (var archive = new XarArchive())
{
archive.CreateEntries(@"C:\folder", false);
archive.Save(xarFile);
}
}
Обзор архива XAR
XAR упрощает процесс добавления файлов без сжатия, предоставляя пользователям гибкость в управлении своими архивами. Используя команды XAR или совместимые программные инструменты, пользователи могут легко интегрировать файлы в архив без использования алгоритмов сжатия. Этот простой метод гарантирует, что исходная структура данных останется нетронутой и будет готова к извлечению при необходимости.
Другие поддерживаемые функции Aspose.ZIP для .NET API
Используйте библиотеку Aspose.ZIP C# для преобразования, объединения, редактирования документов в виде zip-файлов, извлечения данных из архивов и многого другого!
Support and Learning Resources
- Learning Resources
- Documentation
- Source Code
- API References
- Tutorial Videos
- Product Support
- Free Support
- Paid Support
- Blog
- Release Notes
- Why Aspose.ZIP for .NET?
- Customers List
- Success Stories