Приветствую всех, иногда в логике своих приложений требуется архивация или как еще говорят компрессия данных. Сегодня рассмотрим несколько примеров того как этом можно реализовать с базовыми библиотеками. Создаем GZip архив
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 |
static void Main() { // Создание файла и архива. FileStream source = File.OpenRead(@"D:\test.txt"); FileStream destination = File.Create(@"D:\archive.zip"); // Создание компрессора. GZipStream compressor = new GZipStream(destination, CompressionMode.Compress); // Заполнение архива информацией из файла. int theByte = source.ReadByte(); while (theByte != -1) { compressor.WriteByte((byte)theByte); theByte = source.ReadByte(); } // Удаление компрессора. compressor.Close(); } |
В примере выше почти все строки кода имеют комментарии и не вызовут у вас вопросов, но поверхносно пройтись по коду можно. Создаем два потока […]