Почему поиск файлов не идет во вложенных каталогах? - C#
Формулировка задачи:
Здравствуйте , помогите с написание программы
Почему не сканируются все вложенные папки ,если в предыдущей был хотя бы 1 подходящей файл ?
Как это исправить ?
using System;
using System.IO;
namespace ConsoleApplication1
{
class Program
{
static void Main(string[] args)
{
string a = @"f:";
DirectoryInfo b = new DirectoryInfo(a);
try
{
DirectoryInfo[] test = b.GetDirectories();
}
catch (UnauthorizedAccessException)
{
Environment.Exit(0);
}
Find f = new Find();
f.FindFiles(a, "*.jpg");
Console.ReadKey();
}
}
public class Find
{
public void FindInDir(DirectoryInfo dir, string pattern, bool recursive)
{
try
{
foreach (FileInfo file in dir.GetFiles(pattern))
{
Console.Out.WriteLine(file.FullName);
string F = "D:\\file";
File.Copy(file.FullName, F + file, true);
}
}
catch (UnauthorizedAccessException)
{
}
if (recursive)
{
DirectoryInfo[] subdir = dir.GetDirectories();
int i;
int l = subdir.Length;
for (i = 1; i < l; i++)
{
try
{
FindInDir(subdir[i], pattern, recursive);
}
catch (UnauthorizedAccessException)
{
}
}
}
}
public void FindFiles(string dir, string pattern)
{
FindInDir(new DirectoryInfo(dir), pattern, true);
}
}
}Решение задачи: «Почему поиск файлов не идет во вложенных каталогах?»
textual
Листинг программы
string F = "D:\\file"; File.Copy(file.FullName, F + file, true);