Note
Access to this page requires authorization. You can try signing in or changing directories.
Access to this page requires authorization. You can try changing directories.
Хайме Оливаресу (Jaime Olivares) надоело использовать пространство имен java.util.zip и обращаться к вызовам API оболочки для создания zip-файлов. Хайме решил сделать полноценный класс .Net 3.0 / 3.5, который может создавать архивы и добавлять в них файлы.
Вот краткий пример сжатия файла:
1: ZipStorer zip;
2:
3: if (this.RadioCreate.Checked)
4: // Создать новый zip-файл
5: zip = ZipStorer.Create(TextStorage.Text, "Generated by ZipStorer class");
6: else
7: // Открыть созданный zip-файл
8: zip = ZipStorer.Open(TextStorage.Text, FileAccess.Write);
9:
10: // Сохранить все файлы в zip-архиве
11: foreach (string path in listBox1.Items)
12: {
13: zip.AddFile(path, Path.GetFileName(path), "");
14: }
15:
16: // Создать текстовый поток в памяти
17: MemoryStream readme = new MemoryStream(
18: System.Text.Encoding.UTF8.GetBytes(string.Format("{0}\r\nThis file
19: has been {1} using the ZipStorer class, by Jaime Olivares.",
20: DateTime.Now, this.RadioCreate.Checked ? "created" : "appended")));
21:
22: // Сохранить новый файл прямо их потока
23: zip.AddStream("readme.txt", readme, DateTime.Now, "Please read");
24: readme.Close();
25:
26: // Обновить и закрыть zip-файл
27: zip.Close();
Еще одна отличная возможность этого класса — его применение с .Net Compact Framework.
Comments
Anonymous
December 19, 2008
к сожалению исходники там не скачать, можно их куда-то выложитьAnonymous
August 02, 2009
New version of ZipStorer with compression: http://zipstorer.codeplex.com ZipStorer just need .net 2.0