Zip File Класс
Некоторые сведения относятся к предварительной версии продукта, в которую до выпуска могут быть внесены существенные изменения. Майкрософт не предоставляет никаких гарантий, явных или подразумеваемых, относительно приведенных здесь сведений.
Предоставляет статические методы для создания, извлечения и открытия ZIP-архивов.
public ref class ZipFile abstract sealed
public static class ZipFile
type ZipFile = class
Public Class ZipFile
Наследование
Комментарии
Чтобы использовать ZipFile класс в приложении платформа .NET Framework, необходимо добавить ссылку на сборку System.IO.Compression.FileSystem в проекте. Сведения о том, как добавить ссылку на проект в Visual Studio, см. в разделе Практическое руководство. Добавление или удаление ссылок.
Методы управления ZIP-архивами и их файлами распределены по трем классам: ZipFile, ZipArchiveи ZipArchiveEntry.
| Кому. | Используйте. |
|---|---|
| Создание ZIP-архива из каталога | ZipFile.CreateFromDirectory |
| Извлечение содержимого ZIP-архива в каталог | ZipFile.ExtractToDirectory |
| Добавление новых файлов в существующий ZIP-архив | ZipArchive.CreateEntry |
| Получение файла в ZIP-архиве | ZipArchive.GetEntry |
| Получение всех файлов в ZIP-архиве | ZipArchive.Entries |
| Открытие потока в отдельный файл, содержащийся в ZIP-архиве | ZipArchiveEntry.Open |
| Удаление файла из ZIP-архива | ZipArchiveEntry.Delete |
Примеры
В этом примере показано, как создать и извлечь ZIP-архив с помощью ZipFile класса . Он сжимает содержимое папки в ZIP-архив, а затем извлекает это содержимое в новую папку.
using System; using System.IO.Compression; class Program < static void Main(string[] args) < string startPath = @".\start"; string zipPath = @".\result.zip"; string extractPath = @".\extract"; ZipFile.CreateFromDirectory(startPath, zipPath); ZipFile.ExtractToDirectory(zipPath, extractPath); >>
Imports System.IO.Compression Module Module1 Sub Main() Dim startPath As String = ".\start" Dim zipPath As String = ".\result.zip" Dim extractPath As String = ".\extract" ZipFile.CreateFromDirectory(startPath, zipPath) ZipFile.ExtractToDirectory(zipPath, extractPath) End Sub End Module
Методы
Создает ZIP-архив в указанном потоке, содержащий файлы и каталоги из указанного каталога.
Создает ZIP-архив в указанном потоке, который содержит файлы и каталоги из указанного каталога, использует указанный уровень сжатия и при необходимости включает базовый каталог.
Создает ZIP-архив в указанном потоке, который содержит файлы и каталоги из указанного каталога, использует указанный уровень сжатия и кодировку символов для имен записей и при необходимости включает базовый каталог.
Создает ZIP архив, содержащий файлы и каталоги из указанного каталога.
Создает ZIP-архив, содержащий файлы и каталоги из указанного каталога, использует указанный уровень сжатия и необязательно включает базовый каталог.
Создает ZIP-архив, содержащий файлы и каталоги из указанного каталога, использует указанный уровень сжатия и кодировку символов для имен записей и необязательно включает базовый каталог.
Извлекает все файлы из ZIP-архива, хранящегося в указанном потоке, и помещает их в указанный целевой каталог в файловой системе.
Извлекает все файлы из ZIP-архива, хранящегося в указанном потоке, и помещает их в указанный целевой каталог в файловой системе и при необходимости позволяет выбрать, следует ли перезаписывать файлы в целевом каталоге.
Извлекает все файлы из ZIP-архива, хранящегося в указанном потоке, и помещает их в указанный целевой каталог в файловой системе и использует указанную кодировку символов для имен записей.
Извлекает все файлы из ZIP-архива, хранящегося в указанном потоке, и помещает их в указанный целевой каталог в файловой системе, использует указанную кодировку символов для имен записей и при необходимости позволяет выбрать, следует ли перезаписывать файлы в целевом каталоге.
Извлекает все файлы в указанном ZIP-архиве в каталогу в файловой системе.
Извлекает все файлы в указанном архиве в каталоге в файловой системе.
Извлекает все файлы в указанном ZIP-архиве к каталог в файловой системе и использует указанную кодировку для имен записей.
Извлекает все файлы в указанном архиве в каталоге в файловой системе.
Открывает ZIP-архив по указанному пути и в заданном режиме.
Открывает ZIP-архив по указанному пути в указанном режиме и с использованием указанной кодировки символов для имен записей.
Открывает для чтения ZIP-архив по указанному пути.
Python и стандартная библиотека zipfile
В своей работе часто сталкиваюсь с выгрузкой и обработкой большого объема данных, поэтому приходиться думать о том, где хранить и как быстро передать анализируемую информацию. Одну из таких задач уже описывал ранее в статье «Сложности при выгрузке 500 гб из базы данных и пример их решения». Но, если в ранее описанное решение добавить библиотеку архивации zipfile из Python и сжать данные, то их можно вместить в свободное место на жестком диске, исключая перенос на сетевой ресурс или ускорить перемещение за счет уменьшения объема файлов. Для работы с zipfile не требуется что-то дополнительно скачивать, достаточно только подключить.
# Импортируем библиотеки import zipfile import os # Определяем путь к папке с файлами на жестком диске path_file = r’\Users\ *** \Файлы\ ‘[:-1] # Создаем массив имен из файлов csv list_file = [] for file in os.listdir(path_file): if file.endswith((‘.csv’)): list_file.append(file) list_file # Создаем ZIP файл и открываем для записи TempZipFile = zipfile.ZipFile(path_zip + ‘NewFile.zip’, ‘w’) # Сжимаем файлы используя метод сжатия ZIP_DEFLATED for name_file in list_file: TempZipFile.write(path_file + name_file, compress_type = zipfile.ZIP_DEFLATED) # Закрываем ZIP файл TempZipFile.close()
Например, 165 файлов в формате csv с общим объемом 224 ГБ удалось сжать в один zip-файл до 20 ГБ за два часа. Копирование на сетевой ресурс 20 ГБ данных независимо от формата zip или csv, при доступной мне скорости передачи, в среднем заняло 15 часов. В итоге, сэкономлено 200 ГБ памяти на жестком диске или 166 часов (с учетом затраченного времени на архивацию) при переносе на сетевой ресурс.
Более подробно о работе с стандартной библиотекой zipfile (чтение, извлечение, методы сжатия и др.) можно узнать на сайте docs.python.org по ссылке.
Как открыть ZIP-файл на Android?
ZIP — это формат архивации файлов и сжатиях данных без потерь. Такой формат удобен для передачи множества файлов, а уменьшенный размер станет дополнительным плюсом. Сжатие файлов, как правило, происходит с помощью алгоритма Deflate. Android не способен открывать данный формат «из коробки», поэтому единственным решением станет использование сторонних приложений в Google Play. Однако какое из них наилучшее и проверенное?

Ранее Google выпустила приложение Files — это файловый менеджер. С его помощью можно в том числе открывать ZIP-архивы. Для этого скачиваем приложение по ссылке ниже. После установки открываем его, переходим в раздел «Просмотры». Если файл расположен в «Загрузках», можно сразу открыть категорию «Скачанные файлы». В нашем случае ZIP-архив был скачан с Telegram, поэтому переходим во внутреннюю память, ищем папку «Telegram», далее переходим к «Telegram Documents». В данной папке должен располагаться скачанный файл. Если нажать на него, приложение предложит извлечь файлы архива, после нажатия на «Продолжить» откроется небольшое окно с предпросмотром документов.


Нажимаем на «Готово», после чего произойдет распаковка архива в папку с аналогичным названием.
Files — крайне удобное и полезное приложение от Google
В разделе «Обмен» можно делиться видео, приложениями и другими данными с людьми поблизости, у которых установлено данное решение.
Отдельного внимания заслуживает интерфейс, выполненный в стиле Material Design второй версии со шрифтами Google Sans. Главное окно Files отображает количество используемой памяти и анализирует хранилище на наличие ненужных файлов. Чуть ниже отображаются дубликаты, кэш приложений с изображениями и видеороликами, скачанные и большие файлы. Простыми словами, Google Files, помимо поддержки ZIP-файлов, понравится многими другими возможностями. Рекомендуем!
Приложение: Google Files: освободите место на телефоне Разработчик: Google LLC Категория: Инструменты Версия: 1.0.224103129 Цена: Бесплатно Скачать: Google Play Приложением уже заинтересовались: 0 человек

Теги
- Google Play
- Операционная система Android
- Приложения для Андроид
Наши соцсети
Новости, статьи и анонсы публикаций
Разархивирование zip файла в android
Нужно программно разархивировать zip файл. Знаю про либу zip4j, но как я понял, получать прогресс из этой задачи не получится. AsyncTask ? Может быть в нем запускать разархивацию и сравнивать размеры файлов? Не вариант, так как степень сжатия неизвестна. Да и вообще мне кажется все проще. Никто с этим не сталкивался?
Отслеживать
задан 11 янв 2017 в 3:50
user194625 user194625
Возможно Вам поможет этот вопрос и ответ на него. А вообще можно найти очень много информации по запросу android unzip with progressbar . Я бы набросал небольшой пример, да сейчас компьютера под рукой нет.