Если еще DirectoryInfo - PullRequest
       2

Если еще DirectoryInfo

0 голосов
/ 02 октября 2018

я использовал DirectoryInfo для получения файлов из папки.

, но допустим, что каталог в папке не существует

Мне нужно сообщение с надписью ("каталог не найден")

        DirectoryInfo dinfo = new DirectoryInfo(@"C:\Users\nour\Desktop\Gedaan");
        FileInfo[] Files = dinfo.GetFiles("*.DOCX");
        foreach (FileInfo file in Files)
        {

            LB2.Items.Add(file.Name);
        }

Ответы [ 3 ]

0 голосов
/ 02 октября 2018

Я думаю, вы можете просто сделать это:

DirectoryInfo dinfo = new DirectoryInfo(@"C:\Users\nour\Desktop\Gedaan");

if (!dinfo.Exists) // <---- check existence here
{
    // your message here
}
else
{
    // rest of your code here...
    FileInfo[] Files = dinfo.GetFiles("*.DOCX");
    foreach (FileInfo file in Files)
    {
        LB2.Items.Add(file.Name);
    }
}
0 голосов
/ 02 октября 2018

Файловая система может измениться у вас под ногами, поэтому, как правило, лучше предпринять попытку с файловой системой и предпринять соответствующие корректирующие меры, если вы столкнетесь с исключением.

Поэтому вместо тестирования с dinfo.Exists затем скрестив пальцы, что такая же ситуация сохраняется в следующих нескольких строках, просто попробуйте и попробуйте, а затем зачистите любой беспорядок:

DirectoryInfo dinfo = new DirectoryInfo(@"C:\Users\nour\Desktop\Gedaan");
FileInfo[] files;
try
{
    files = dinfo.GetFiles("*.DOCX");
}
catch(DirectoryNotFoundException)
{
    Console.WriteLine("ouch");
}

в конце концов, любой усиленный код должен будет перехватить это исключение в любом случае, даже если вы считаете, что несколько микросекунд назад каталог существовал.

0 голосов
/ 02 октября 2018

Используйте Exists метод класса DirectoryInfo, чтобы проверить, существует ли каталог.

DirectoryInfo dinfo = new DirectoryInfo(@"C:\Users\nour\Desktop\Gedaan");
if(dinfo.Exists)
{
   //your code
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...