C#SharpZipLib剥离不相关的目录名称
我正在使用SharpZipLib压缩包含子目录的文件夹,这很正常。 我想做的是剥离第一个子文件的父目录,以便不进行整个无关的结构……
例:
C: A B C d。 E ˚F克ħ FILE1.TXT
C: A B C d。 E ˚F克ħ FILE2.TXT
C: A B C d。 E ˚F克ħ I FILE1.TXT
C: A B C d。 E ˚F克ħ I FILE2.TXT
它应该像这样结束:
FILE1.TXT
FILE2.TXT
I FILE1.TXT
I FILE2.TXT
我怎样才能做到这一点?
这是我到目前为止的代码:
ZipFile zipFile = new ZipFile(destinationArchive); zipFile.BeginUpdate(); foreach (FileInfo file in sourceFiles) { zipFile.Add(file.FullName); } zipFile.CommitUpdate(); zipFile.Close();
请改用ZipOutputStream:
string[] sourceFiles = new [] { @"c:abcdefghfile1.txt", @"c:abcdefghifile1.txt" }; FileStream fileStream = File.Create(@"c:temptest.zip"); ZipOutputStream zipOut = new ZipOutputStream(fileStream); string baseDir = @"c:abcdefgh"; foreach (var sourceFile in sourceFiles) { ZipEntry entry = new ZipEntry(sourceFile.Replace(baseDir,"")); zipOut.PutNextEntry(entry); FileStream inFile = File.OpenRead(sourceFile); byte[] buffer = new byte[8192]; int bytesRead = 0; while ((bytesRead = inFile.Read(buffer, 0, buffer.Length)) > 0) { zipOut.Write(buffer,0,bytesRead); } zipOut.CloseEntry(); } zipOut.Close();
或者查看CodePlex for DotNetZip。
上述就是C#学习教程:C#SharpZipLib剥离不相关的目录名称分享的全部内容,如果对大家有所用处且需要了解更多关于C#学习教程,希望大家多多关注—计算机技术网(www.ctvol.com)!
本文来自网络收集,不代表计算机技术网立场,如涉及侵权请联系管理员删除。
ctvol管理联系方式QQ:251552304
本文章地址:https://www.ctvol.com/cdevelopment/1034957.html