我正在尝试使用Directory.GetDirectories(folderPath)
枚举解压缩文件夹中的压缩文件夹。
我遇到的问题是它似乎没有找到压缩文件夹,当我来遍历string[]
时,它是空的。
Directory.GetDirectories()
是否有错误的方法来解决这个问题?如果是这样,有什么方法可以达到这个目的?
文件路径示例:C:\...\...\daily\daily\{series of zipped folder}
public void CheckZippedDailyFolder(string folderPath)
{
if(folderPath.IsNullOrEmpty())
throw new Exception("Folder path required");
foreach (var folder in Directory.GetDirectories(folderPath))
{
var unzippedFolder = Compression.Unzip(folder + ".zip", folderPath);
using (TextReader reader = File.OpenText(unzippedFolder + @"\" + new DirectoryInfo(folderPath).Name))
{
var csv = new CsvReader(reader);
var field = csv.GetField(0);
Console.WriteLine(field);
}
}
}
答案 0 :(得分:0)
GetDirectories是错误的使用方法。探险家骗你; zip文件实际上是扩展名为.zip的文件,而不是文件系统级别的真实目录。
看看: https://msdn.microsoft.com/en-us/library/system.io.compression.ziparchive.entries%28v=vs.110%29.aspx(ZipArchive.Entries)和/或 https://msdn.microsoft.com/en-us/library/system.io.compression.zipfile%28v=vs.110%29.aspx(ZipFile)了解如何处理它们。