ZipFile c# trouble

106
22 февраля 2022, 02:50

Ошибка - Не удается найти конец записи главного каталога. При таком коде:

//где pathToGame путь до игры через FileBrowserDialog, можно даже взять произвольный
//По типу @"c:\", один хрен не работает, ошибка та же, кто знает как фиксить?
string zipPath = pathToGame + @"\test.zip";
string extractPath = pathToGame;
ZipFile.ExtractToDirectory(zipPath, extractPath);

Но! Перед этим этот Zip архив скачивается с интернета по ссылке из гугл диска, в функции когда он уже скачается идёт код который выше.

if (downloadStartedNow) return;
if (String.IsNullOrEmpty(pathToGame))
{
    MessageBox.Show("Сначала Вам необходимо указать путь установки!");
    return;
}
String fileName = "test.zip";
String link = ""; //любой линк на zip file из инета (ссылка должна быть прямая)
if (File.Exists(pathToGame + @"\" + fileName))
    File.Delete(pathToGame + @"\" + fileName);
WebClient client = new WebClient();
client.DownloadProgressChanged += new DownloadProgressChangedEventHandler(client_DownloadProgressChanged);
client.DownloadFileCompleted += new AsyncCompletedEventHandler(client_DownloadFileCompleted);
client.DownloadFileAsync(new Uri(link), pathToGame + @"\" + fileName);
label1.Text = "Началась загрузка дополнительных компонентов...";
downloadStartedNow = true;
Answer 1

Возможно уже неактуально, но всё-таки отвечу. Возможно, что в папке, куда вы распаковываете архив уже есть один из таких файлов и из-за этого может выкидывать ошибку. Чтобы починить, подставьте код в try, после этого он просто будет пропускать файлы, с которыми произошла какая-либо ошибка или которые уже существуют.

READ ALSO
RadGridView (Telerik) обновление данных

RadGridView (Telerik) обновление данных

Каким образом можно обновить данные в radGridView, при передачи отредактированного объекта в radGridViewDataSource = editedOject?

75
Бинарный поиск итеративным методом

Бинарный поиск итеративным методом

сделал программу бинарного поиска через цикл итерациями, как я понял можно ускорить поиск если внести некоторые изменения В коде выделил...

83
DataGridView поиск и обновление данных

DataGridView поиск и обновление данных

Как при передачи объекта в dataGridView, найти нужную строку и обновить ее не затрагивая остальные строкиЯ делаю вот так: dataGridView

102