获取通过ZipFile.ExtractToDirectory()

时间:2017-12-26 02:04:04

标签: c#

string zipPath = @"D:\books\"+fileinfo.DccFileName;
string extractPath = @"D:\books";
System.IO.Compression.ZipFile.ExtractToDirectory(zipPath, extractPath);

这是一段简单的代码,完全符合我的要求:从d:\ books中获取一个zip文件并将其解压缩到同一目录中。有什么办法可以读取新创建的文件的文件名(考虑到.zip存档中只有一个文件)。我更喜欢一种不涉及读取目录更改的解决方案,因为在解压缩的同时可能会在其中创建其他文件。

1 个答案:

答案 0 :(得分:1)

您可以通过检查存档

来构建路径
var intentedPath = string.Empty;
//open archive
using (var archive = ZipFile.OpenRead(zipPath)) {
    //since there is only one entry grab the first
    var entry = archive.Entries.First();
    //the relative path of the entry in the zip archive
    var fileName = entry.FullName;
    //intended path once extracted would be
    intentedPath = Path.Combine(extractPath, fileName);
}