我使用Windows压缩创建了一个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);
}
}
答案 0 :(得分:2)
是的,有几种压缩类型,最常见的是Zip,GZip和Rar。所需的类型取决于您要使用的类型以及要使用的程序进行压缩/解压缩,并且由于您似乎正在编写自己的程序,因此它也应该可以正常工作。三种主要类型之间的大小差异不大,尽管这取决于要压缩的存档的大小。如此大胆地取决于您!
如果您担心出现问题,可以解压缩它们的内容并进行比较,然后根据压缩大小决定保留哪一个。 zip一直很普遍,但是大多数zip程序现在也可以处理rar。
答案 1 :(得分:1)
两个示例之间没有功能上的区别。例如:
DirectoryName:data FileName:data.bin
如果文件夹'data'
不存在,则会创建该文件夹,然后将提取'data.bin
'文件并将其添加到该文件夹。