将文件压缩成具有特定目录结构的.zip文件 - C#/。Net
我正在用C#开发一个应用程序,我试图将来自不同位置的几个文件压缩成一个压缩文件。将文件压缩成具有特定目录结构的.zip文件 - C#/。Net
我的问题是,我想在这个zip文件中有一个不同于文件结构的结构。
例子:
FileA -> example.zip: \DirX\DirY
FileB -> example.zip: \DirX\DirZ
FileC -> example.zip: \DirW
我可以保存文件夹结构,但不会改变“目的地”路径。在.Net中是否有任何外部工具或编程方式来实现此目的?
你试过dotnetzip? - 通过使用AddEntry
/AddFile
方法在zip文件中仅使用不同的路径作为名称,可以很简单。
另见DotNetZip: Add Files to Dynamically Created Archive Directory
我会看看它,但看起来很有希望。不知道为什么我以前没见过它:/ – 2013-02-15 14:55:32
鲁棒的解决方案 - 过程zip文件通过条目,然后通过使用取代的路径(其可以是文件的实际路径,这可以把在临时文件夹压缩和解之前或复制到提取/拉链提取后需要的位置)。文件的原始路径可以保存为文本,然后保存在zip中(因为反正会有你指定的结构,所以你可以保留让我们说“extract.txt”文件存储原始文件的位置提取)。
您可以使用libs(ICSharpCode.SharpZipLib或其他)或使用.net framework 4.5 ZipArchive来执行zip文件本身的基本操作。
好主意,最糟糕的情况是我会这么做! – 2013-02-15 14:56:13
你有什么试过?你看过SharpZipLib和其他类似的软件包吗? – 2013-02-15 14:27:37