我想做的是通过在windows资源管理器中右击创建一个压缩文件夹,并创建一个新的->压缩(压缩)文件夹。
然后我想使用像My.Computer.Filesystem.MoveFile("C:\From.jpg","C:\ZipFolder.zip\To.jpg“这样的东西,真的)
但是我得到一个错误“同名的文件或目录已经存在”。
有什么简单的方法可以做到这一点吗?我认为windows支持zip文件夹,但它似乎不知道我正在尝试将文件移动到zip文件夹,相反,它将zip视为一个文件,并认为我正在覆盖它或其他什么。
发布于 2014-06-24 16:34:47
在DotNetZip中,将文件添加到现有的压缩包中非常简单和可靠。
DotNetZip是一个快速、免费的类库和工具集,用于操作压缩文件。使用VB、C#或任何.NET语言轻松创建、解压缩或更新zip文件。
DotNetZip是适用于.NET的最好的开放源码ZIP库。
using (var zip = ZipFile.Read(nameOfExistingZip))
{
zip.CompressionLevel = Ionic.Zlib.CompressionLevel.BestCompression;
zip.AddFile(additionalFileToAdd);
zip.Save();
}
如果要为新文件指定目录路径,请对AddFile()使用不同重载。
using (var zip = ZipFile.Read(nameOfExistingZip))
{
zip.CompressionLevel = Ionic.Zlib.CompressionLevel.BestCompression;
zip.AddFile(additionalFileToAdd, "directory\\For\\The\\Added\\File");
zip.Save();
}
如果要添加一组文件,请使用AddFiles()。
using (var zip = ZipFile.Read(nameOfExistingZip))
{
zip.CompressionLevel = Ionic.Zlib.CompressionLevel.BestCompression;
zip.AddFiles(listOfFilesToAdd, "directory\\For\\The\\Added\\Files");
zip.Save();
}
https://stackoverflow.com/questions/24391794
复制相似问题