添加文件到现有的Zip现有的zip文件。我将它们解压缩到桌面上一个名为“mod”的目录中,然后我需要将它们添加到另一个zip文件中。帮助?这是我的提取代码-ZipFilezip=ZipFile.Read(myZip);zip.ExtractAll(outputDirectory,ExtractExistingFileAction.OverwriteSilently);感谢您的帮助,谢谢。试试看,一旦文件从源zip文件中提取出来,您需要将目标zip文件读入ZipFile对象,然后您可以使用AddFiles方法将源文件添加到目标文件,然后保存它。使用系统;使用System.Collections.Generic;使用System.Linq;使用系统文本;使用Ionic.Zip;namespaceConsoleApplication1{classProgram{staticvoidMain(string[]args){stringmyZip=@"C:temptest.zip";stringmyOtherZip=@"C:tempanotherZip.zip";字符串outputDirectory=@"C:ZipTest";使用(ZipFilezip=ZipFile.Read(myZip)){zip.ExtractAll(outputDirectory,ExtractExistingFileAction.OverwriteSilently);}使用(ZipFilezipDest=ZipFile.Read(myOtherZip)){//zipDest.AddFiles(System.IO.Directory.EnumerateFiles(outputDirectory));//这会将它们添加为目录zipDest.AddFiles((System.IO.Directory.EnumerateFiles(outputDirectory)),false,"");//这会将文件添加到根目录zipDest.Save();}}}}将目录添加到ZipFile的修改方法(这将适用于单个子目录级别)using(ZipFilezipDest=ZipFile.Read(myOtherZip)){foreach(vardirinSystem.IO.Directory.GetDirectories(outputDirectory)){zipDest.AddFiles((System.IO.Directory.EnumerateFiles(dir)),f另外,输出目录);//根目录}zipDest.AddFiles((System.IO.Directory.EnumerateFiles(outputDirectory)),false,"");//这会将文件添加到根目录zipDest.Save();从Zip目录中删除文件的方法Listfiles=zipDest.EntryFileNames.ToList();//获取所有存档文件的列表(inti=0;iTrytocreateanewzip:using(ZipFilezip=newZipFile()){zip.AddFile("1.txt");zip.AddFile("favicon.png");zip.AddFile("ElectricityMagnetism.pdf");zip.Save("BlahBlah.zip");}要将文件添加到zip,请尝试:string[]filePaths=newString[]{...}//你的文件路径foreach(stringpathinfilePaths)zip.AddFile(path);zip.Save("..");//ZIP路径7-Zip有一个可以使用的命令行可执行文件publicstaticvoidAddFileToZip(stringzipPath,stringfilePath){if(!File.Exists(zipPath))thrownewFileNotFoundException("Zipwasnotfound.",zipPath);如果(!File.Exists(filePath))thrownewFileNotFoundException("Filewasnotfound.",filePath);//创建命令行参数。字符串参数="a-tzip""+zipPath+""""+zipPath+""";//使用命令行参数运行7-Zip命令行可执行文件。System.Diagnostics.Processprocess=System.Diagnostics.Process.Start("7za.exe",参数);过程.WaitForExit();}参见:https://www.dotnetperls.com/7-zip-examples使用ionic.zip,C#递归函数路径上的所有目录以上为C#学习教程:将文件添加到已有的Zip中,分享所有内容,如果对大家有用,需要了解更多关于C#学习教程,希望大家多多关注—staticprivatevoidCompressDirRecursive(stringpath,refIonic.Zip.ZipFiledzip){dzip.AddFiles((System.IO.Directory.GetFiles(path)),false,路径);//ROOTforeach(stringdirinSystem.IO.Directory.GetDirectories(path)){CompressDirRecursive(dir,refdzip);//下一个目录}}staticprivatevoidMyTestFunction(){Ionic.Zip.ZipFiledzip=newIonic.Zip.ZipFile();System.IO.MemoryStreammsOut=newSystem.IO.MemoryStream();CompressDirRecursive("rutaquequieras",refdzip);尝试{dzip.Save(outputStream:msOut);}catch(Exceptionex){抛出ex;}dzip.Dispose();//etc}本文收集自网络,不代表立场,如有侵权请点右联系管理员删除。如需转载请注明出处:
