2016-06-06 1 views
0

Итак, у меня есть zip-файл в каталоге. Этот zip-файл содержит файлы разных типов. Когда пользователь нажимает кнопку в моем приложении WPF, файл zip необходимо обновить.Обновление zip-файла на основе другого zip-файла C#

Необходимо проверить файлы из другого почтового файла в другом каталоге. Если файл не активируется в первом zip-файле, ему необходимо скопировать этот файл из другого zip-файла в новый zip-файл.

Я использовал для этого метод ионического зажима.

До сих пор я просто использовал file.copy overwrite = true code. Но когда zip-файл равен 1gb +, он занимает очень много времени, потому что он просто заменил zip-файл.

Кто-то знает, как я могу это решить?

Привет Томас

UPDATE: это код, я получил до сих пор:

private void getlocaldata() 
     { 

      string admindata = @"\\networklocation\test.zip"; 
      string localPath = @"C:\finaldata\test.zip"; 

      File.Copy(admindata, localPath, true); 

     } 
+0

Что такое 'file.copy overwrite = true'? Вы должны [добавлять файлы в zip] (http://stackoverflow.com/q/22339260/1997232) вместо повторного застегивания всех (если это то, что вы сейчас делаете). Подумайте о том, чтобы добавить связанный код (как вы это делаете сейчас) к вопросу. – Sinatr

+0

, если вы хотите попробовать использовать по умолчанию .Net Zip, тогда вы хотите, чтобы ZipArchive см. Https://msdn.microsoft.com/en-us/library/system.io.compression.ziparchive%28v=vs.110%29.aspx – MikeT

+0

Спасибо за комментарии ребята, но знаете ли вы, как я могу проверить, существует ли файл в zip-файле на основе файлов из другого zip-файла. –

ответ

1

Вы можете использовать DotNetZip библиотеку.

Проверьте файл в zip:

zip["Readme.txt"] = null; 

Но в любом случае вы должны снова сжимать файлы для изменения молний пароля. Вы можете найти примеры для этого here.