Вопрос ZipFile & c#, некоректная директория

Забаненный
Статус
Оффлайн
Регистрация
21 Дек 2020
Сообщения
169
Реакции[?]
5
Поинты[?]
0
Обратите внимание, пользователь заблокирован на форуме. Не рекомендуется проводить сделки.
string zipPath = "C:\\test\\client.zip";
string extractPath = "C:\\test\\";

ZipFIle.ExtractToDirectory(zipPath, extratPath);
(может будет опечатка код по памяти писал, но сути не меняет так-то)

Ошибка: Некоректный символ/директория
Помогите без етого никак))
пж
 
Модератор форума
Модератор
Статус
Оффлайн
Регистрация
2 Дек 2016
Сообщения
2,382
Реакции[?]
1,881
Поинты[?]
36K
C#:
string zipPath = @"C:\test\client.zip";
string extractPath = @"C:\test";
ZipFile.ExtractToDirectory(zipPath, extractPath);
1658421219218.png
try
 
Последнее редактирование:
Забаненный
Статус
Оффлайн
Регистрация
21 Дек 2020
Сообщения
169
Реакции[?]
5
Поинты[?]
0
Обратите внимание, пользователь заблокирован на форуме. Не рекомендуется проводить сделки.
Забаненный
Статус
Оффлайн
Регистрация
21 Дек 2020
Сообщения
169
Реакции[?]
5
Поинты[?]
0
Обратите внимание, пользователь заблокирован на форуме. Не рекомендуется проводить сделки.
Забаненный
Статус
Оффлайн
Регистрация
21 Дек 2020
Сообщения
169
Реакции[?]
5
Поинты[?]
0
Обратите внимание, пользователь заблокирован на форуме. Не рекомендуется проводить сделки.
буквы точно не русские стоят? 🤒
точно мужик, уже незнаю что делать новый проект долго буду писать нужно уложиться в неочень долгий срок :(((((( совсем настроение проебал
 
Модератор форума
Модератор
Статус
Оффлайн
Регистрация
2 Дек 2016
Сообщения
2,382
Реакции[?]
1,881
Поинты[?]
36K
точно мужик, уже незнаю что делать новый проект долго буду писать нужно уложиться в неочень долгий срок :(((((( совсем настроение проебал
ну дай срк значит под хайд, сам гляну
 
Начинающий
Статус
Оффлайн
Регистрация
3 Апр 2021
Сообщения
13
Реакции[?]
4
Поинты[?]
0
Что сложного то?
Тебе нужно распаковать из архива файл(ы) в определённую папку?
Если нужно распаковать просто без пароля, то так:
C#:
namespace Shabla
{
    using System;
    using System.IO;
    using System.IO.Compression;

    public static class ZipLib
    {
        private static readonly string zipPath = @"C:\MyArchive.zip", extractPath = @"C:\UnpackedFiles";
        public static void Inizialize()
        {
            if (File.Exists(zipPath))
            {
                 ZipFile.ExtractToDirectory(zipPath, extractPath, Encoding.UTF8); // Работает прекрасно
            }
            else
            {
                Console.WriteLine($"Архив {zipPath} не найден!");
            }
        }
    }
}
Второй способ по распаковки файлов:
C#:
namespace Shabla
{
    using System;
    using System.IO;
    using System.IO.Compression;
    using System.Text;

    public static class ZipLib
    {
        private static readonly string zipPath = @"C:\MyArchive.zip", extractPath = @"C:\UnpackedFiles";

        public static void Inizialize()
        {
            if (File.Exists(zipPath))
            {
                using ZipArchive archive = ZipFile.Open(zipPath, ZipArchiveMode.Read, Encoding.GetEncoding(866));
                foreach (ZipArchiveEntry entry in archive.Entries)
                {
                    string completeFileName = Path.GetFullPath(Path.Combine(extractPath, entry.FullName));
                    if (entry.Name == "")
                    {
                        Directory.CreateDirectory(Path.GetDirectoryName(completeFileName));
                        continue;
                    }
                    entry.ExtractToFile(completeFileName, true);
                    Console.WriteLine($"Распаковали файл {entry.FullName}");
                }
            }
            else
            {
                Console.WriteLine($"Архив {zipPath} не найден!");
            }
        }
    }
}
Если нужно распаковать с паролем, то используй либу ICSharpCode.SharpZipLib

P.S: Если у тебя проблема с путями, то всегда можно попробовать использовать Replace("/", "\\")
 
Последнее редактирование:
Забаненный
Статус
Оффлайн
Регистрация
21 Дек 2020
Сообщения
169
Реакции[?]
5
Поинты[?]
0
Обратите внимание, пользователь заблокирован на форуме. Не рекомендуется проводить сделки.
ща
 

Вложения

Начинающий
Статус
Оффлайн
Регистрация
3 Апр 2021
Сообщения
13
Реакции[?]
4
Поинты[?]
0
Забаненный
Статус
Оффлайн
Регистрация
21 Дек 2020
Сообщения
169
Реакции[?]
5
Поинты[?]
0
Обратите внимание, пользователь заблокирован на форуме. Не рекомендуется проводить сделки.
Для просмотра содержимого вам необходимо авторизоваться.

А ты пробовал запускать не в дебаге? А напрямую!
У меня всё работает нормально.
Либо попробуй заменить Replace("/", "\\") или в обратку.
Либо пробуй второй вариант
я все перепробывал
 
Начинающий
Статус
Оффлайн
Регистрация
3 Апр 2021
Сообщения
13
Реакции[?]
4
Поинты[?]
0
Запиши видео, так проще будет посмотреть что ты не так делаешь!
Пробуй другой путь указать не на диске С, а на другом к примеру.
Код полностью рабочий и что там у тебя не получается...
Запусти файл вне студии и проверь исключения (если есть подробно)
Убери Release на Debug и проверь ещё там работу распаковки.
Возьми второй метод (используй его и скрин приложи работы)
 
Забаненный
Статус
Оффлайн
Регистрация
21 Дек 2020
Сообщения
169
Реакции[?]
5
Поинты[?]
0
Обратите внимание, пользователь заблокирован на форуме. Не рекомендуется проводить сделки.
Запиши видео, так проще будет посмотреть что ты не так делаешь!
Пробуй другой путь указать не на диске С, а на другом к примеру.
Код полностью рабочий и что там у тебя не получается...
Запусти файл вне студии и проверь исключения (если есть подробно)
Убери Release на Debug и проверь ещё там работу распаковки.
Возьми второй метод (используй его и скрин приложи работы)
все испробывал не по 1 разу кроме исключений
Запиши видео, так проще будет посмотреть что ты не так делаешь!
Пробуй другой путь указать не на диске С, а на другом к примеру.
Код полностью рабочий и что там у тебя не получается...
Запусти файл вне студии и проверь исключения (если есть подробно)
Убери Release на Debug и проверь ещё там работу распаковки.
Возьми второй метод (используй его и скрин приложи работы)
скоро дам я щас занят спсп
 
Пользователь
Статус
Оффлайн
Регистрация
16 Мар 2021
Сообщения
377
Реакции[?]
78
Поинты[?]
11K
буквы точно не русские стоят? 🤒
Вообще проверка на инвалидность (как указано в стеке) происходит по принципу поиска '\0' и '/', тут не причастны символы кириллицы.
 
Начинающий
Статус
Оффлайн
Регистрация
28 Ноя 2020
Сообщения
34
Реакции[?]
22
Поинты[?]
0
Указывай путь вот так - ".\\bin\\file.exe" или "C:\\Windows\\file.exe"
C#:
string  ZIP = "C:\\test\\client.zip";

string PATH = "C:\\test";

ZipFile.ExtractToDirectory(ZIP, PATH);
 
Сверху Снизу