Форум программистов, компьютерный форум, киберфорум
C# Windows Forms
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
 
Рейтинг 4.63/40: Рейтинг темы: голосов - 40, средняя оценка - 4.63
0 / 0 / 0
Регистрация: 27.05.2014
Сообщений: 60
Записей в блоге: 1

Работа с архивами, распаковка

21.12.2016, 05:33. Показов 8412. Ответов 22
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Здравствуйте!!
Необходимо через программу загрузить архивный файл и распаковать его. Не могу добиться, чтобы программа все начала распаковывать архивы.
Помогите, кто чем может, пожалуйста!!

Или я бы хотела почитать соответствующую литературу (книжку), именно про архивы все, в c#, чтобы сразу все понять, посоветуйте пожалуйста!!

Мои 3 вида кода:

C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
     private void button8_Click(object sender, EventArgs e)
        {
            string zipPath = @"F:\нов.zip";  // Может откуда берем файлы, Path - класс для работы с файловыми путями //
            string extractPath = @"F:\нов\файл";  // Может куда записываем разархивированные файлы // 
 
 
            Process proc1 = Process.Start("WinRAR.exe", @"e F:\нов \in\*.* F:\нов\ля");
            proc1.WaitForExit();       //  //
            string[] arch = Directory.GetFiles(@"F:\нов"); // Directory.GetFiles - возвращает имена файлов (с указанием пути к ним) в указанном каталоге //  
 
            for (int i = 0; i < arch.Length; i++)
            {
                string archName = Path.GetFileName(arch[i]);
                Process proc = Process.Start("WinRAR.exe", "e" + @"F:\нов" + archName + @"F:\нов\ля");
                proc.WaitForExit(); // Таймаут ожидания // 
                Directory.Move(@"F:\нов", @"F:\нов\файл" + "" + Path.GetFileNameWithoutExtension(arch[i])); // Directory - класс со статистическими методами для работы с папками .. //
                                                                                                            //  Move - перемещает или переименовывает папку с указанным именем // 
                                                                                                            // CreateDirectory - создает папку с указанным именем // 
                                                                                                            // Archive - определяет, не является ли файл архивным //
            }
        }
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
 private void button9_Click(object sender, EventArgs e)
        {
            string zipPath = @"C:\нов.zip";  // Может откуда берем файлы, Path - класс для работы с файловыми путями //
            string extractPath = @"F:\нов\файл";  // Может куда записываем разархивированные файлы // 
            ZipFile.ExtractZip(zipPath, extractPath);
            OpenFileDialog fd = new OpenFileDialog();
            FastZip FZ = new FastZip();
            FZ.ExtractZip("Путь архива.zip", "назначение", "[фильтры]");
            if (fd.ShowDialog() == DialogResult.OK)
            {
                foreach (string filename in fd.FileNames)
                {
                    FileInfo info = new FileInfo(filename);
                    FZ.ExtractZip(Path.GetDirectoryName(info.FullName) + "" + Path.GetFileName(info.FullName), "C:\\temp", "[фильтры]");
                }
            }
        }
C#
1
2
3
4
5
6
7
8
9
10
11
private void button10_Click(object sender, EventArgs e)
 
        {
            string srcZipFile = "d:/Temp/Test.zip";
            string dstDirectory = "d:/Temp/Test";
            if (Directory.Exists(dstDirectory))
                Directory.Delete(dstDirectory);
            ZipFile.ExtractToDirectory(srcZipFile, dstDirectory); // Метод ExtractToDirectory - извлекает содержимое zip-архива в указанный каталог //
        }
    }
}
У меня постоянно ошибка выходит - ExtractToDirectory, ExtractZip - не определены или не существуют. Подключала библиотеки - Ionic.Zip.dll и SevenZipSharp.dll
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
21.12.2016, 05:33
Ответы с готовыми решениями:

Работа с архивами!
У меня скачивается архив с интернета! Как его разархировать??? Ну или как сделать так, чтобы при распаковки самораспаковывающегося...

C# и работа с архивами
Доброго времени суток госпада! Речь вот о чем, как можно взять архивный файл а именно RAR, распаковать, поработать с файлами и обратно...

работа с zip архивами
Здравствуйте! У меня такая проблема. Есть zip архив, в котором куча всяких файлов. Мне необходимо программно (на C#) вывести на форму...

22
215 / 211 / 146
Регистрация: 20.11.2014
Сообщений: 1,184
21.12.2016, 09:25
кажется, я Вам давал уже вполне рабочий код. Ошибок там нет
C#
1
2
3
4
5
using System.IO.Compression;
...
string zipPath = @"c:\example\result.zip";
string extractPath = @"c:\example\extract";
ZipFile.ExtractToDirectory(zipPath, extractPath);
Миниатюры
Работа с архивами, распаковка  
1
0 / 0 / 0
Регистрация: 27.05.2014
Сообщений: 60
Записей в блоге: 1
21.12.2016, 09:40  [ТС]
Вот этот маленький кодик и все?
На самом деле даже не помню, что в этом коде было не так, уже столько перепробовала) Испробую сейчас!

Добавлено через 1 минуту
А то что это консольное приложение, а у меня с формами, ничего?!
0
215 / 211 / 146
Регистрация: 20.11.2014
Сообщений: 1,184
21.12.2016, 09:46
ничего
1
215 / 211 / 146
Регистрация: 20.11.2014
Сообщений: 1,184
21.12.2016, 10:32
Для примера
Вложения
Тип файла: rar WindowsFormsApplication8.rar (70.4 Кб, 85 просмотров)
1
0 / 0 / 0
Регистрация: 27.05.2014
Сообщений: 60
Записей в блоге: 1
22.12.2016, 06:53  [ТС]
Спасибо большое! Ну вот запускаю, ZipFile не существует в текущем контексте.
Имя "path" не существует в текущем контексте.
Имя "arch" не существует в текущем контексте.

Добавлено через 29 минут
А если пишу Ваш коротенький код, то тоже куча ошибок..

И если указать еще архивы .rar и какие там еще бывают? Нужно просто подписать?!

Добавлено через 18 минут
И версия сборки у меня .NET Framework 4

Добавлено через 2 минуты
Подключены библиотеки - SharpZipLib.dll и Ionic.Zip.dll

Добавлено через 43 минуты
Изменила .NET Framework 4 на 4.5, тоже самое)

Добавлено через 50 минут
а саму программку не скинете? Чтобы в Visual открывалась?!
Через блокнот все посмотрела, приложение тоже открыла.
0
215 / 211 / 146
Регистрация: 20.11.2014
Сообщений: 1,184
22.12.2016, 11:33
Цитата Сообщение от ya_yanchik-2909 Посмотреть сообщение
а саму программку не скинете? Чтобы в Visual открывалась?!
а выше в архиве что?
0
0 / 0 / 0
Регистрация: 27.05.2014
Сообщений: 60
Записей в блоге: 1
22.12.2016, 11:35  [ТС]
Она в Visual Studio открывается как пустая.
0
215 / 211 / 146
Регистрация: 20.11.2014
Сообщений: 1,184
22.12.2016, 11:40
Так?
Миниатюры
Работа с архивами, распаковка  
1
0 / 0 / 0
Регистрация: 27.05.2014
Сообщений: 60
Записей в блоге: 1
22.12.2016, 11:51  [ТС]
Да, извините, это я просто не так открыла. Изменила у вас сборку на 4, тоже ошибка появилась ZipFile не существует. А что зависит от сборки? Если я сейчас поменяю на 4.5, то потом мое приложение, программа сможет работать на XP?
И как избавиться от этих ошибок :
Цитата Сообщение от ya_yanchik-2909 Посмотреть сообщение
ZipFile не существует в текущем контексте.
Имя "path" не существует в текущем контексте.
Имя "arch" не существует в текущем контексте.
Вроде бы все как у вас, но у меня ругается на эти имена.
0
215 / 211 / 146
Регистрация: 20.11.2014
Сообщений: 1,184
22.12.2016, 11:59
потому-что это имена labelов, которых у Вас нет. Либо добавьте, либо пути храните в другом месте
1
0 / 0 / 0
Регистрация: 27.05.2014
Сообщений: 60
Записей в блоге: 1
22.12.2016, 12:17  [ТС]
Все, поняла, я эти label вообще не увидела на форме, поэтому и не поняла откуда они берутся.
А с - Имя "ZopFile" не существует в текущем контексте - что делать?!
0
215 / 211 / 146
Регистрация: 20.11.2014
Сообщений: 1,184
22.12.2016, 15:41
версию фрейма на 4.5 изменить, с более ранними не работает
1
0 / 0 / 0
Регистрация: 27.05.2014
Сообщений: 60
Записей в блоге: 1
23.12.2016, 04:54  [ТС]
а чтобы не только zip файлы разархивировал, нужно еще одну библиотеку установить?!

Добавлено через 8 минут
Хотела загрузить архив .rar, а он его даже не видит.
0
132 / 82 / 29
Регистрация: 01.10.2014
Сообщений: 263
23.12.2016, 09:40
ya_yanchik-2909, какой библиотекой вы пользуетесь? Ionic.Zip не работает с раром, только зип.
0
0 / 0 / 0
Регистрация: 27.05.2014
Сообщений: 60
Записей в блоге: 1
23.12.2016, 09:50  [ТС]
А можете пожалуйста подсказать какая библиотека работает со всеми форматами архивов? Или такой не существует? Все по отдельности нужно?
0
132 / 82 / 29
Регистрация: 01.10.2014
Сообщений: 263
23.12.2016, 09:52
ya_yanchik-2909, "со всеми" слишком растяжимое понятие. Есть более-менее универсальные, вот например: http://sharpcompress.codeplex.com/
причём 7зип и рар только на распаковку. Рар платный архиватор.
1
0 / 0 / 0
Регистрация: 27.05.2014
Сообщений: 60
Записей в блоге: 1
23.12.2016, 10:26  [ТС]
А как это что сделать?
Подскажите пожалуйста =)

Добавлено через 3 минуты
Ой, по-моему, я уже использовала эту библиотеку.
0
132 / 82 / 29
Регистрация: 01.10.2014
Сообщений: 263
23.12.2016, 13:01
ya_yanchik-2909, там есть документация с примерами, вы их пробовали запускать?
0
0 / 0 / 0
Регистрация: 27.05.2014
Сообщений: 60
Записей в блоге: 1
26.12.2016, 07:48  [ТС]
Я в свою программу загружаю документы Word, а они отображаются в таблице dataGridView.

А подскажите пожалуйста, как отобразить в поле textBox количество загруженных документов? Чтобы, в случае чего знать, какие документы были загружены, а какие нет =0

Вот именно здесь мне и нужна была работа с архивами, чтобы загружались не только Word, но и архивные. Ничем не поможете?
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
26.12.2016, 07:48
Помогаю со студенческими работами здесь

Работа с ZIP-архивами - распаковка файлов
Привет, уважаемый ALL! Подскажите, как можно работать с zip архивами из VBA? Стоит задача: 1) прочитать из архива...

Работа с архивами
У меня есть программа - сервер которая принимает данніе от клиента. Данные сохраняются в текстовом файле. Нужно организовать что бы...

Работа с архивами
Доброго времени суток уважаемые! Необходима ваша помощь :) Нужно автоматизировать процесс подсчета файлов в архивах! Архивы формата...

Работа с архивами
всем привет. у меня следующая проблема. не знаю как сделать так, чтобы, при загрузке фотографий или файлов, они загружались автоматически...

Работа с архивами Delphi
Здраствуйте. Кто знает как работать с любыми архивами Delphi. Такие как Zip, Rar и 7z Интересует не только создания и распаковка этих...


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

Или воспользуйтесь поиском по форуму:
20
Ответ Создать тему
Новые блоги и статьи
Первый деплой
lagorue 16.01.2026
Не спеша развернул своё 1ое приложение в kubernetes. А дальше мне интересно создать 1фронтэнд приложения и 2 бэкэнд приложения развернуть 2 деплоя в кубере получится 2 сервиса и что-бы они. . .
Расчёт переходных процессов в цепи постоянного тока
igorrr37 16.01.2026
/ * Дана цепь постоянного тока с R, L, C, k(ключ), U, E, J. Программа составляет систему уравнений по 1 и 2 законам Кирхгофа, решает её и находит токи на L и напряжения на C в установ. режимах до и. . .
Восстановить юзерскрипты Greasemonkey из бэкапа браузера
damix 15.01.2026
Если восстановить из бэкапа профиль Firefox после переустановки винды, то список юзерскриптов в Greasemonkey будет пустым. Но восстановить их можно так. Для этого понадобится консольная утилита. . .
Изучаю kubernetes
lagorue 13.01.2026
А пригодятся-ли мне знания kubernetes в России?
Сукцессия микоризы: основная теория в виде двух уравнений.
anaschu 11.01.2026
https:/ / rutube. ru/ video/ 7a537f578d808e67a3c6fd818a44a5c4/
WordPad для Windows 11
Jel 10.01.2026
WordPad для Windows 11 — это приложение, которое восстанавливает классический текстовый редактор WordPad в операционной системе Windows 11. После того как Microsoft исключила WordPad из. . .
Classic Notepad for Windows 11
Jel 10.01.2026
Old Classic Notepad for Windows 11 Приложение для Windows 11, позволяющее пользователям вернуть классическую версию текстового редактора «Блокнот» из Windows 10. Программа предоставляет более. . .
Почему дизайн решает?
Neotwalker 09.01.2026
В современном мире, где конкуренция за внимание потребителя достигла пика, дизайн становится мощным инструментом для успеха бренда. Это не просто красивый внешний вид продукта или сайта — это. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru