0 / 0 / 0
Регистрация: 22.12.2015
Сообщений: 3
1

Распаковка zip

27.06.2018, 18:17. Показов 3111. Ответов 6
Метки zip (Все метки)

Author24 — интернет-сервис помощи студентам
Не могу распаковать архив. При работе этого кода создается новый пустой архив, но никак не разархивируется. 2 день сижу. Помогите пожалуйста. Вот мой код:
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
private v oid button2_Click(object sender, EventArgs e)
        {
            OpenFileDialog bd = new OpenFileDialog();
            if (bd.ShowDialog() == DialogResult.OK)
            {
                textBox2.Text = bd.FileName;
            }
 
        }
 
 
        private void button4_Click(object sender, EventArgs e)
        {
            FolderBrowserDialog bd = new FolderBrowserDialog();
            SaveFileDialog sfd = new SaveFileDialog();
            sfd.Filter = "Zip files (*.zip)|*.zip";
            File.WriteAllBytes(fileName, (byte[])Properties.Resources.ResourceManager.GetObject(res.Key));
 
            if (textBox2.Text != "" && sfd.ShowDialog() == DialogResult.OK)
            {
                ZipFile zf = new ZipFile(sfd.FileName);
                zf.ExtractAll(bd.SelectedPath);
                zf.Save();
                MessageBox.Show("Разархивировано успешно.", "Выполнено");
            }
 
        }
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
27.06.2018, 18:17
Ответы с готовыми решениями:

Распаковка архива zip
как распаковать архив .zip в дерикторию с программой?

Распаковка после скачки .zip
Друзья, вообщем проблема такая. Туплю на месте. У меня форма качает архив с помощь httpwebrequest....

Распаковка архивов
Пишу программу на c#. Она у меня распознает документы ворд и записывает их в таблицу. Теперь нужно...

Распаковка архива
Здравствуйте. В лаунчере когда распаковывает архив, он не хочет распаковывать его полностью,...

6
14 / 14 / 2
Регистрация: 26.04.2015
Сообщений: 60
27.06.2018, 21:09 2
делай так:
C#
1
2
3
4
5
6
7
8
openFileDialog1.Filter = "Zip Files|*.zip;";
openFileDialog1.FilterIndex = 2;
openFileDialog1.FileName = "";
openFileDialog1.ShowDialog();
 if (openFileDialog1.FileName != "")
{
ZipFile.ExtractToDirectory(openFileDialog1.FileName, extractPath);   //извлекаем файлы в каталог
}
0
0 / 0 / 0
Регистрация: 22.12.2015
Сообщений: 3
30.06.2018, 18:14  [ТС] 3
Не работает эта строчка
ZipFile.ExtractToDirectory(openFileDialog1.FileName, extractPath);
Судя по тому, что нашел в гугле это из-за того, что я использую vs17.
0
Эксперт .NET
6451 / 4053 / 1598
Регистрация: 09.05.2015
Сообщений: 9,480
30.06.2018, 18:22 4
Цитата Сообщение от LENDEN Посмотреть сообщение
Судя по тому, что нашел в гугле это из-за того, что я использую vs17.
Не верно. Проблема точно не в VS2017. Скорее всего using или reference не добавили. Или Target Framework проекта слишком старый.
0
0 / 0 / 0
Регистрация: 22.12.2015
Сообщений: 3
30.06.2018, 21:18  [ТС] 5
Вроде все юзинги подключены. Да и фраемворк последний.
C#
1
2
3
using Ionic.Zip;
using System.IO;
using System.IO.Compression;
Миниатюры
Распаковка zip  
0
Эксперт .NET
6451 / 4053 / 1598
Регистрация: 09.05.2015
Сообщений: 9,480
30.06.2018, 21:25 6
Цитата Сообщение от LENDEN Посмотреть сообщение
Не работает эта строчка
В чем конкретно заключается нерабочесть?

Цитата Сообщение от LENDEN Посмотреть сообщение
Вроде все юзинги подключены.
Цитата Сообщение от Someone007 Посмотреть сообщение
или reference не добавили. Или Target Framework проекта слишком старый.
0
14 / 11 / 1
Регистрация: 16.08.2016
Сообщений: 75
30.06.2018, 22:54 7
Держи.
Чтобы использовать пароль в архивации - допиши в методах zip.Password = "123" (например).

C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
                using System.IO;
                using Ionic.Zip;
                using Ionic.Zlib;
                
                public class Zip
                {
                    /// <summary>
                    /// Добавляет директорию в архив.
                    /// </summary>
                    /// <param name="AddPath">Путь к директории.</param>
                    /// <param name="ZipPath">Путь к архиву.</param>
                    public static void AddDirectory(string AddPath, string ZipPath)
                    {
                        ZipFile zip = new ZipFile();
                        zip.CompressionLevel = CompressionLevel.BestCompression;
                        zip.AddDirectory(AddPath);
                        zip.Save(ZipPath);
                        zip.Dispose();
                    }
 
                    /// <summary>
                    /// Добавляет файл к архиву.
                    /// </summary>
                    /// <param name="AddPath">Путь до файла.</param>
                    /// <param name="ZipPath">Путь до архива.</param>
                    public static void AddFile(string AddPath, string ZipPath)
                    {
                        ZipFile zip = new ZipFile();
                        zip.CompressionLevel = CompressionLevel.BestCompression;
                        zip.AddFile(AddPath, "");
                        zip.Save(ZipPath);
                        zip.Dispose();
                    }
 
                    /// <summary>
                    /// Добавляет файлы к архиву.
                    /// </summary>
                    /// <param name="AddPath">Путь до файла.</param>
                    /// <param name="ZipPath">Путь до архива.</param>
                    public static void AddFile(string[] AddPaths, string ZipPath)
                    {
                        ZipFile zip = new ZipFile();
                        zip.CompressionLevel = CompressionLevel.BestCompression;
                        zip.AddFiles(AddPaths, "");
                        zip.Save(ZipPath);
                        zip.Dispose();
                    }
 
                    /// <summary>
                    /// Распаковывает архив.
                    /// </summary>
                    /// <param name="ZipPath">Путь к архиву.</param>
                    /// <param name="ExtractPath">Путь извлечения.</param>
                    public static void Extract(string ZipPath, string ExtractPath)
                    {
                        foreach (ZipEntry zip_ex in ZipFile.Read(ZipPath))
                        { zip_ex.Extract(ExtractPath, ExtractExistingFileAction.DoNotOverwrite); }
                    }
                }
0
30.06.2018, 22:54
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
30.06.2018, 22:54
Помогаю со студенческими работами здесь

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

Распаковка/Расшифровка Файла
Есть одна игра,и к этой игре есть файлы с форматом &quot;.sf&quot;,мне нужно написать программу которая может...

Работа с архивами, распаковка
Здравствуйте!! Необходимо через программу загрузить архивный файл и распаковать его. Не могу...

Запаковка и распаковка архива + ProgressBar
К слову мне нужна информация как запаковать и распаковать zip архив + используя криптографию zip...


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

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

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