Личные сообщения

Ваши переписки

BSK-NEWS » Новости » C# список файлов в папке. Примеры кода по работе с получением списка

    C# список файлов в папке. Примеры кода по работе с получением списка




    Задача: получить список файлов в папке.

    Решение: Для решения задачи будем использовать метод GetFiles(). Метод имеет несколько реализаций и поможет получить список файлов в папке, используя шаблоны, например, если надо получить список файлов отпределенного типа. Приведем небольшой код как это сделать:

    Простое получение файлов из папки

    1. Просто получить список всех файлов в папке:

    Например нам необходимо получть все файлы в папке "C:\folder", для этого делаем так:

    Directory.GetFiles(@"C:\folder")

    2.Получить список файлов определенного типа

    Например, мы хотим отобрать всё флэшвидео в папке - это формат .flv. Для этого пишем такую конструкцию

    Directory.GetFiles(@"C:\folder", "*.flv")

    3. Получить список всех файлов, включая подпапки

    Если стоит задача извлечь все файлы ни только из папки, но и из подпапок, то используем следующую конструкцию

    Directory.GetFiles(@"C:\folder", "*.txt", SearchOption.AllDirectories)

    Нестандартные задачи получения файлов из папки

    По умолчанию процедура GetFiles() выдаёт имя файла в формате "имя_файла.расширение", но если вам надо получить полный путь до файлов в папке, то необходимо прибегать к хитростям, опишем пару примеров:

    1. Получить полные поти до файлов в папке

    Для решения этой задачи используем следующую конструкцию:

    var dir=new DirectoryInfo(patch);// папкасфайлами
    var files = new List<string>(); // списокдляименфайлов
    foreach (FileInfo file in dir.GetFiles()) // извлекаемвсефайлыикидаемихвсписок
    {
        files.Add(file.FullName); // получаем полный путь к файлу и кидаем его в список
    }

    2.Получить имена файлов без расширения.

    var dir=new DirectoryInfo(patch); // папкасфайлами
    var files = new List<string>(); // списокдляименфайлов
    foreach (FileInfo file in dir.GetFiles()) // извлекаемвсефайлыикидаемихвсписок
    {
        files.Add(Path.GetFileNameWithoutExtension(file.FullName)); // получаем полный путь к файлу и потом вычищаем ненужное, оставляем только имя файла.
    }