Домой Arhiv Работа с архивами (создание, добавление файлов, извлечение): Справочник по C#

Работа с архивами (создание, добавление файлов, извлечение): Справочник по C#

526
0


      ZIP — популярный формат сжатия данных и архивации файлов. Файл в этом формате обычно имеет расширение .zip и хранит в сжатом или несжатом виде один или несколько файлов, которые можно из него извлечь путём распаковки с помощью специальной программы. Давайте напишем свою программу для работы с этим расширением.

Стандартные средства C#.Net

using System;
using System.IO;
using System.IO.Compression;

namespace ConsoleApplication
{
class Program
{
static void Main(string[] args)
{
string startPath = @"c:examplestart";
string zipPath = @"c:exampleresult.zip";
string extractPath = @"c:exampleextract";

ZipFile.CreateFromDirectory(startPath, zipPath);

ZipFile.ExtractToDirectory(zipPath, extractPath);
}
}
}

Извлечение файлов определенного расширения:

using System;
using System.IO;
using System.IO.Compression;

namespace ConsoleApplication1
{
class Program
{
static void Main(string[] args)
{
string zipPath = @"c:examplestart.zip";
string extractPath = @"c:exampleextract";

using (ZipArchive archive = ZipFile.OpenRead(zipPath))
{
foreach (ZipArchiveEntry entry in archive.Entries)
{
if (entry.FullName.EndsWith(".txt", StringComparison.OrdinalIgnoreCase))
{
entry.ExtractToFile(Path.Combine(extractPath, entry.FullName));
}
}
}
}
}
}

Создание файла в архиве и запись в него:

using System;
using System.IO;
using System.IO.Compression;

namespace ConsoleApplication
{
class Program
{
static void Main(string[] args)
{
using (FileStream zipToOpen = new FileStream(@"c:usersexampleuserrelease.zip", FileMode.Open))
{
using (ZipArchive archive = new ZipArchive(zipToOpen, ZipArchiveMode.Update))
{
ZipArchiveEntry readmeEntry = archive.CreateEntry("Readme.txt");
using (StreamWriter writer = new StreamWriter(readmeEntry.Open()))
{
writer.WriteLine("Information about this package.");
writer.WriteLine("========================");
}
}
}
}
}
}

Сторонние библиотеки(DotNetZip):

using (ZipFile zip = new ZipFile())
{
// add this map file into the "images" directory in the zip archive
zip.AddFile("c:\images\personal\7440-N49th.png", "images");
// add the report into a different directory in the archive
zip.AddFile("c:\Reports\2008-Regional-Sales-Report.pdf", "files");
zip.AddFile("ReadMe.txt");
zip.Save("MyZipFile.zip");
}
   Исходник библиотеки SnmpSharpNet
Downloads:
ЧИТАТЬ ТАКЖЕ:  Культура ношения бриллиантов

Работа с архивами (создание, добавление файлов, извлечение): Справочник по C#

0.00 (0%) 0 votes

ОСТАВЬТЕ ОТВЕТ

Пожалуйста, введите ваш комментарий!
пожалуйста, введите ваше имя здесь