.NET 4.x Как не распаковывая архив прочесть файл из него и внести изменения? - C#
Формулировка задачи:
Средствами System.IO.Compression создал архив "arhiv1.zip" с текстовым файлом "file1.txt".
Вопрос...
Как не распаковывая архив в файл, прочесть этот "file1.txt" и внести в него изменения?
Решение задачи: «.NET 4.x Как не распаковывая архив прочесть файл из него и внести изменения?»
textual
Листинг программы
using (FileStream zipToOpen = new FileStream(@"D:\Temp\XmlToDynamic-master.zip", FileMode.Open, FileAccess.ReadWrite))
using (ZipArchive archive = new ZipArchive(zipToOpen, ZipArchiveMode.Update))
{
ZipArchiveEntry zipEntry = archive.Entries.Single(e => e.FullName == "XmlToDynamic-master/README.md");
using (var zipEntryStream = zipEntry.Open())
{
string content;
using (var reader = new StreamReader(zipEntryStream, Encoding.UTF8, true, 8000, true))
{
content = reader.ReadToEnd();
}
zipEntryStream.Position = 0;
zipEntryStream.SetLength(0);
content = "Hello!" + content;
using (var writer = new StreamWriter(zipEntryStream))
{
writer.Write(content);
}
}
}