12 / 12 / 0
Регистрация: 04.07.2011
Сообщений: 287
1
.NET 3.x

Распаковка архива (.zip)

05.02.2013, 13:33. Показов 5389. Ответов 7
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Нужно программно распаковать zip архив. Какие библиотеки могут это сделать ? Можно ли распаковать архив встроенными средствами ? Как это всё сделать ? Дайте пожалуйста какой нибудь пример.
Использую .net framework 3.5
Заранее благодарен!
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
05.02.2013, 13:33
Ответы с готовыми решениями:

Программная распаковка архива используя ionic.zip - "невозможно преобразовать ionicZipEntry в systemEventArgs"
Использую библиотеку ionicZip (DotNetZip). Ссылка на примеры:...

Распаковка архива с именем архива по маске
Всем привет! Понимаю, что тема с архивами уже избитая, но все же есть определенная задача. Прошу...

Распаковка запароленного архива
Как распаковка или извлеч файл архив (с пароль)

Распаковка архива из ресурсов
Я делаю инсталлятор для моей VB программы. Нужно чтобы ПОЛЬЗОВАТЕЛЬ выбрал место, куда распакуется...

7
23 / 23 / 1
Регистрация: 12.10.2012
Сообщений: 288
05.02.2013, 19:08 2
Братан вот глянь это http://vbbook.ru/vb.net/rabota-s-zip-vbnet/ ну и если тебе лень
VB.NET
1
2
3
4
5
6
7
8
9
10
11
12
13
14
Private Sub 
 
Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click ' Разархивация
Dim sh As New Shell32.Shell()
If Dir(TextBox2.text & "") = vbNullString Then My.Computer.FileSystem.CreateDirectory(TextBox2.text & "") ' если папка не существует то её создаём
If Dir(TextBox1.text) = vbNullString Then ' Если файл не существует
MsgBox("Неверно указан файл zip.")
Exit Sub
End If
Dim output As Shell32.Folder = sh.NameSpace(TextBox2.text & "")
Dim input As Shell32.Folder = sh.NameSpace(TextBox1.text & "")
output.CopyHere(input.Items, 16)
MsgBox("Готово.")
End Sub
TextBox1.text - задаёт путь к архиву. Например C:1.zip
TextBox2.text - задаёт папку куда разархивировать. Например C:1


Это не всё! В коде фигурирует библиотека Shell32. Эта библиотека есть в windows изначально. С помощью неё Вы можете открывать архивы .zip без WinRar. Нам нужно её присоединить к нашему проекту. Чтобы добавить жмём правой кнопкой по названию нашего проекта в Обозреватель решений и там выбираем Добавить ссылку. В появившемся окне, во вкладке COM ищем Microsoft Shell Controls, а если её нету в списке, то через обзор добавляем сами(путь C:Windowssystem32). Вот собственно и всё. Удачи в программировнии.


И говорим спасибо автору статьи (это не я)
0
12 / 12 / 0
Регистрация: 04.07.2011
Сообщений: 287
05.02.2013, 22:18  [ТС] 3
Я это и использовал но ничего не получается . Вот тема с ошибкой : Не распаковывается архив zip
0
52 / 52 / 1
Регистрация: 05.12.2012
Сообщений: 167
Записей в блоге: 1
06.02.2013, 04:32 4
Я фиг знаю почему, но у меня тоже была ошибка с цифрой 16, заменил её на 4 как по маслу поехало!
http://msdn.microsoft.com/en-u... s.85).aspx
0
62 / 62 / 1
Регистрация: 23.01.2012
Сообщений: 254
06.02.2013, 11:36 5
у меня первоначально 4 или 6 шло,т.к надо было progressbar показать. А 16 вроде полностью скрытый режим
0
394 / 313 / 53
Регистрация: 14.08.2014
Сообщений: 1,010
02.11.2014, 12:10 6
Ребят, а есть варианты как распаковать архив zip на котором установлен пароль? Архив был создан WinRar'ом. Пароль от архива известен.
0
141 / 129 / 34
Регистрация: 28.02.2014
Сообщений: 148
02.11.2014, 19:18 7
С помощью средств Net4.0 можно.

если ведрить в проект ссылку на System.IO.Compression то так:
VB.NET
1
2
Using zip = New ZipArchive(New IO.StreamReader("Архив").BaseStream, 0, False, System.Text.Encoding.GetEncoding(866))
End Using
А если добавить ещё ссылку на System.IO.Compression.FileSystem то будет немного проще:
VB.NET
1
2
Using zip As ZipArchive = ZipFile.Open("Архив", 0, System.Text.Encoding.GetEncoding(866))
End Using
1
1568 / 1447 / 303
Регистрация: 01.10.2011
Сообщений: 2,636
02.11.2014, 19:51 8
Дядя Корней, Поиском влом воспользоваться?
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
02.11.2014, 19:51
Помогаю со студенческими работами здесь

Распаковка архива с расширением .arj
Всем доброго времени суток. Ребята, не подскажите как можно распаковать архив с расширением .arj?...

Ошибка создания архива zip
Вот есть процедура создания(экспорта данных в архив): Sub _ExportTo7z(fileName As String) ...

Извлечение файлов из архива ZIP
В общем не получается нормально работать с zip файлами. Хотел работать стандартными средствами...

Неверная кодировка при распаковке zip архива
для распаковки решил воспользоваться не стандартной библиотекой, а библиотекой DotNetZip...

Распаковка архива в потоке (перестал работать проверенный код, возможно после обновления винды)
В данном коде два варианта распаковки архива, в текущем потоке и в отдельном потоке. Imports...

Запаковать файл в .zip архивы (Создание пустого файла архива)
Здравствуйте. Нужно архивировать файлы с каталога (запаковать) Как заорхивировать я знаю (в FAQ...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
8
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2023, CyberForum.ru