Csharp/C#教程:C#SharpZipLib剥离不相关的目录名称分享


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

(0)
上一篇 2022年1月19日
下一篇 2022年1月19日

精彩推荐