0

我使用 Windows compress 创建了一个 ZIP 文件,然后使用WinRAR创建了另一个 ZIP 文件。在我的输出中,我有两组不同的输出!

文件夹列表不会出现在 Windows 生成的 ZIP 文件中,但我有一个文件夹列表以及WinRAR创建的 ZIP 文件。

  • 哪个是正确的存档?
  • 你有没有遇到过这个问题?
  • 我该如何处理这种情况?
  • 还有其他型号吗?

Windows 压缩 ZIP 文件的输出:

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);
    }
}
4

2 回答 2

2

是的,有几种压缩类型,最常见的是 Zip、GZip 和 Rar。您想要哪种类型取决于您将使用它的目的,以及您将使用什么程序进行压缩/解压缩,并且由于您似乎正在编写自己的程序,因此它也应该适合您解压缩。三种主要类型之间的大小差异不大,尽管这取决于压缩档案的大小。所以基本上由你决定!

如果您担心出了什么问题,您可以解压缩并比较内容,然后您可以根据压缩后的大小决定保留哪一个。zip 一直比较常见,但现在大多数 zip 程序也处理 rar。

于 2018-11-05T16:46:30.613 回答
1

这两个示例之间没有功能差异。例如:

DirectoryName:data FileName:data.bin

如果文件夹'data'不存在,则会创建它,然后data.bin将提取“ ”文件并将其添加到该文件夹​​中。

于 2018-11-05T16:51:57.310 回答