快速问题:我需要提取压缩文件,并有一个特定的文件提取最后。
更多信息:我知道如何用c# (FW4.5)提取压缩文件。我现在遇到的问题是,我有一个zip文件,里面总是有一个文件名(例如) "myFlag.xml“,还有几个文件。
因为我需要支持一些老的应用程序来监听我要解压缩的文件夹,所以我想确保XML文件总是被解压缩到最后一个文件夹。
是否有类似于zip函数的“排除”功能,可以提取除某个文件之外的所有文件,这样我就可以这样做,然后只提取文件?
谢谢。
发布于 2015-07-15 17:28:29
您可能会在ZipArchive上尝试一个foreach循环,并排除与您的参数不匹配的所有内容,然后,在循环完成后,提取最后一个文件。
就像这样:
private void TestUnzip_Foreach()
{
using (ZipArchive z = ZipFile.Open("zipfile.zip", ZipArchiveMode.Read))
{
string LastFile = "lastFileName.ext";
int curPos = 0;
int lastFilePosition = 0;
foreach (ZipArchiveEntry entry in z.Entries)
{
if (entry.Name != LastFile)
{
entry.ExtractToFile(@"C:\somewhere\" + entry.FullName);
}
else
{
lastFilePosition = curPos;
}
curPos++;
}
z.Entries[lastFilePosition].ExtractToFile(@"C:\somewhere_else\" + LastFile);
}
}https://stackoverflow.com/questions/31436918
复制相似问题