Как проверить каталог это или файл? - C#

Узнай цену своей работы

Формулировка задачи:

Есть функция,которая проверяет все подкаталоги в заданном каталоге и выдает перечень подкаталогов и файлов и количество файлов. проблема в том,что в количество файлов попадают и подкаталоги. Текст функции:
   static void FindSubDir(string sPathSD)
    {
      string[] sSubDir = Directory.GetDirectories(sPathSD);
          foreach (string s1 in sSubDir)
          {
            //Console.WriteLine("В каталоге " + s1 + " находяться файлы:" + sCount.Length+" шт.");
            string[] sFileList = Directory.GetFiles(s1);
            string[] sCount = Directory.GetFileSystemEntries(s1);
            Console.WriteLine("В каталоге " + s1 + " находиться " + sCount.Length + " файл(а)");
            foreach (string f1 in sFileList)
            {
//              FileInfo fi = new FileInfo(f1);
              Console.WriteLine(f1);
            }
            FindSubDir(s1); 
          }
    }
Файл от каталога отличаеться атрибутами. У каталога File_Attribute_Directory=16, а у файла подобный атрибут 32. Как получить значения этих атрибутов?

Решение задачи: «Как проверить каталог это или файл?»

textual
Листинг программы
namespace ConsoleApplication4
{
    using System;
    using System.Runtime.InteropServices;
    using System.Windows.Forms;
 
    class Program
    {
        [DllImport("kernel32.dll", SetLastError = true)]
        static extern IntPtr GetConsoleWindow ();
 
        [STAThread]
        static void Main ( string[] args ) {
            using (FolderBrowserDialog fbd = new FolderBrowserDialog()) {
                if (fbd.ShowDialog(NativeWindow.FromHandle(GetConsoleWindow())) == DialogResult.OK) {
                    Console.WriteLine(fbd.SelectedPath);
                    Console.ReadLine();
                }
            }
        }
    }
}

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

7   голосов , оценка 4.429 из 5
Похожие ответы