【发布时间】:2016-08-03 23:37:44
【问题描述】:
我正在尝试使用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);
}
}
}
【问题讨论】:
-
Directory.GetDirectories(@"C:\path\to\folder")返回指定文件夹中文件夹的字符串[]。如果您想要一个文件夹中的文件列表,您应该使用Directory.GetFiles或Directory.EnumerateFiles。另外,请记住“压缩文件夹”是文件(ZIP 文件),而不是“真实文件夹”。