Есть ли разница между ZIP-файлами? - PullRequest
0 голосов
/ 05 ноября 2018

Я создал ZIP-файл, используя сжатие Windows, а затем я создал другой ZIP-файл, используя WinRAR . В моем выводе у меня есть два разных набора вывода!

Список папок не отображается в ZIP-файле, созданном Windows, но у меня также есть список папок с WinRAR созданным ZIP-файлом.

  • Какой из архивов правильный?
  • Вы когда-нибудь сталкивались с этой проблемой?
  • Как мне справиться с этой ситуацией?
  • Есть ли еще какая-нибудь модель?

Вывод сжатого ZIP-файла Windows:

DirectoryName:data FileName:data.bin
DirectoryName: FileName:manifest.txt
DirectoryName:pdfs FileName:some.pdf

Вывод WinRAR ZIP-файла:

DirectoryName: FileName:manifest.txt
DirectoryName:data FileName:
DirectoryName:data FileName:data.bin
DirectoryName:pdfs FileName:
DirectoryName:pdfs FileName:some.pdf

Я использую этот код для генерации вышеуказанного вывода:

using (ZipArchive archive = ZipFile.OpenRead(zipPath))
{
    foreach (ZipArchiveEntry entry in archive.Entries)
    {
        TreeNodeDetails tnd = new TreeNodeDetails(entry.FullName, seq_folder_id++, NODETYPE.ZIPFILE, NODE_Format.DIRECTORY);
        Console.WriteLine("DirectoryName:" + tnd.directoryName + " FileName:" + tnd.fileName);
        InitiateTree(rootTreeNode, tnd);
    }
}

Ответы [ 2 ]

0 голосов
/ 05 ноября 2018

Между этими двумя примерами нет функциональной разницы. Например:

DirectoryName:data FileName:data.bin

Если папка 'data' не существует, она будет создана, тогда файл 'data.bin' будет извлечен и добавлен в эту папку.

0 голосов
/ 05 ноября 2018

да, существует несколько типов сжатия, наиболее распространенными являются Zip, GZip и Rar. какой тип вы хотите получить, зависит от того, для чего вы будете его использовать, и от какой программы вы будете сжимать / распаковывать, и, поскольку вы, кажется, пишете свой собственный, он также должен работать, чтобы вы могли разархивировать. разница между размерами трех основных типов невелика, хотя это зависит от размера архивируемого архива. так что в основном это зависит от вас!

если что-то беспокоит вас, вы можете разархивировать их и сравнить содержимое, а затем, в зависимости от сжатого размера, выбрать, какой из них сохранить. zip всегда был более распространенным явлением, но большинство zip-программ теперь также обрабатывают rar.

...