У меня есть каталог, в котором хранятся всевозможные случайные данные, включая ZIP-архивы, которые также могут включать сами ZIP-архивы и так далее. Я хочу подсчитать все данные, кроме ZIP-архивов.
Моя попытка начать подсчет данных в ZIP-файлах:
static void Main(string[] args)
{
DirectoryInfo directoryInfo = new DirectoryInfo(@"C:\Temp");
int count = 0;
foreach (FileInfo file in directoryInfo.GetFiles())
{
if (file.Extension.Equals(".zip"))
{
count += ZipFileCount(file.FullName);
}
}
Console.WriteLine(count);
}
public static int ZipFileCount(String zipFileName)
{
using (ZipArchive archive = ZipFile.Open(zipFileName, ZipArchiveMode.Read))
{
foreach (var entry in archive.Entries)
{
if (!String.IsNullOrEmpty(entry.Name))
{
count += 1;
if (entry.Name.Substring(entry.Name.Length - 3).Equals("zip"))
{
ZipFileCount(entry.Name);
}
}
}
return count;
}
}
Это не сработало как ZipFileCount(entry.Name)
не предоставляет правильные записи в ZIP-архиве.
Кто-нибудь может помочь мне исправить это?